当我通过selenium/Python使用switch_to.window时,出现了InvalidArgumentException

2024-10-01 15:45:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我看过很多关于如何使用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

显然,我厌倦了正常的网页与同样的结果以及

有没有人有同样的问题


Tags: tofromimportbrowser脚本示例seleniumscript
0条回答
网友
1楼 · 发布于 2024-10-01 15:45:11

忘记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()

相关问题 更多 >

    热门问题