Открытие новой вкладки из строки URL - PullRequest
0 голосов
/ 15 ноября 2018

Поэтому я пытаюсь открыть новую вкладку в Chrome, где URL является строкой.Я делаю это так, потому что ни цепочки действий, ни ключи не работают.Цель этого кода - открыть новую вкладку из выбранного элемента, но я не могу открыть новую страницу с правильным веб-сайтом.

from selenium import webdriver 
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time
import random

chromedriver = "\Program Files\webdrivers/chromedriver"

driver = webdriver.Chrome(chromedriver)

driver.get("https://google.com")

time.sleep(3)

for a in driver.find_elements_by_xpath('//*[@id="prm"]/div/a'):
    A = str(a.get_attribute('href'))
    driver.execute_script("window.open('A');")

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Чтобы открыть hrefs в отдельных TAB , правильный синтаксис будет:

for a in driver.find_elements_by_xpath('//*[@id="prm"]/div/a'):
    A = str(a.get_attribute('href'))
    driver.execute_script("window.open('" + A +"');")
0 голосов
/ 15 ноября 2018

Вы открываете новое окно с URL-адресом «A».Это рассматривается как строка, потому что вы не передаете переменную, а просто букву.Попробуйте

driver.execute_script("window.open(arguments[0]);", A)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...