我正在使用带有 python 的 selenium 和 chrome webdriver。
我尝试将“href”存储在变量中(本例中为“link”)并在新选项卡中打开它。
我知道如何使用以下方式在新选项卡中打开专用网站:
driver.execute_script("window.open('http://www.example.com', 'newtab')")
但是使用 windows.open 脚本只接受直接文本(据我所知)而不是变量。
以下是代码:
link = driver.find_element_by_class_name('asset-content').find_element_by_xpath(".//a[@class='mr-2']").get_attribute("href") #assigning 'href' into link variable. works great. driver.execute_script("window.open(link, 'newtab')") #trying to open 'link' in a new tab
错误:
unknown error: link is not defined
还有其他方法可以在新标签中打开“链接”变量吗?
您将一个字符串传递给 execute_script,因此传递的不是字面上的“链接”,而是链接中的值(连接):
driver.execute_script("window.open('"+link+"','icoTab');")
打开选项卡的另一种方法是向浏览器发送 CTRL+T:
driver.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 't') driver.get(link)