从字符串网址打开新标签页

时间:2018-11-15 17:55:08

标签: python selenium selenium-webdriver

所以我试图在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 :(得分:1)

您要打开URL为“ A”的新窗口。之所以将其视为字符串,是因为您没有传递变量,只是传递了一个字母。试试

driver.execute_script("window.open(arguments[0]);", A)

答案 1 :(得分:0)

要在单独的 TAB 中打开 hrefs ,正确的语法应为:

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