我看过很多关于如何使用 selenium switch_to.window 的示例脚本
这是一个关于我所学到的示例脚本,根本不起作用:
from selenium import webdriver
from pprint import pprint
browser = webdriver.Firefox()
script="""
myWindow = window.open("", "ChildWindow", "width=200,height=100");
"""
browser.execute_script(script)
wHandles = browser.window_handles
pprint(wHandles)
handle = wHandles[1]
print(handle, type(handle))
browser.switch_to.window(handle)
我收到了错误消息:
InvalidArgumentException: Expected "handle" to be a string, got [object Undefined] undefined
显然我厌倦了具有相同结果的普通网页。
有人有同样的问题吗?
最佳答案
忘记了 webdriver chrome/firefox - 最好使用 webdriver_manager,它可以使用您的 python 版本管理最新的浏览器 有关 webdriver_manager 的更多信息可以找到 here
pip install webdriver_manager
这是完美的代码
from webdriver_manager.firefox import GeckoDriverManager
from selenium import webdriver
browser = webdriver.Firefox(executable_path=GeckoDriverManager().install())
script = """
myWindow = window.open("", "ChildWindow", "width=200,height=100");
"""
browser.execute_script(script)
wHandles = browser.window_handles
print(wHandles)
handle = wHandles[1]
print(handle, type(handle))
browser.switch_to.window(handle)
browser.quit()
关于python - 当我使用 selenium/Python 的 switch_to.window 时,我遇到了 InvalidArgumentException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63949719/