小能豆

在新标签页中打开“href”变量

py

我正在使用带有 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

还有其他方法可以在新标签中打开“链接”变量吗?


阅读 17

收藏
2025-01-10

共1个答案

小能豆

您将一个字符串传递给 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)
2025-01-10