在python和selenium中没有定义url

问题描述 投票:-1回答:2

selenium.common.exceptions.WebDriverException:消息:未知错误:未定义url

码:

driver = webdriver.Chrome()
driver.get('https://google.com')
url='https://www.yahoo.com'
current = driver.current_window_handle
driver.execute_script("window.open(url);") #New tab
new_window = [window for window in driver.window_handles if window != current][0] # Get new tab ID
driver.switch_to.window(new_window) # Switch to new tab

运行上面的代码时,它给了我错误:

selenium.common.exceptions.WebDriverException:消息:未知错误:未定义url

Though url is define just 2 lines before..

python python-3.x selenium selenium-webdriver undefined
2个回答
4
投票

该错误是因为未定义javascript变量url

driver.execute_script使用浏览器的JS引擎执行JS代码。在调用execute_script之前,它不知道定义了什么Python变量。

你应该将它用作变量而不是硬编码url

driver.execute_script("window.open('{}');".format(url))

4
投票

您需要将Python变量传递给JavaScript。试试以下:

driver.execute_script("window.open('%s');" % url)
© www.soinside.com 2019 - 2024. All rights reserved.