chrome 更新到 118 版本后 Selenium (chromedriver) 问题 - 无法通过 xpath id 等找到元素

Selenium (chromedriver) issue after chrome update to 118 version - can not find element by xpath id etc

提问人:Krzysztof 提问时间:10/24/2023 更新时间:10/24/2023 访问量:5085

问:

我找不到适合我的情况的解决方案。我的 python scripy 有问题,它正在使用 chromedriver。 正如我在标题中提到的 - 在弹出窗口中找不到元素。

崩溃的代码摘录:

window_handler_variable.maximize_window()  // PASS 
xpathFileDescription = '//*[@id="arid_WIN_0_8"]'
FileDescription = window_handler_variable.find_element(by=By.XPATH, value=xpathFileDescription) // FAIL

window_handler_variable.maximize_window() ->这个正在工作,所以我认为我正在处理正确的窗口和窗口处理程序,可验证是可以的。

xpathFileDescription = '//[@id=“arid_WIN_0_8”]'* ->这个似乎也可以。 网页上没有任何变化。顺便说一句,也通过ID方法进行了检查。

你知道为什么我在这种情况下找不到合适的元素吗?只是想补充一点,它在 Chrome 117 版本及更早版本上运行良好,并且在更新到 118 后停止工作。我无法降级浏览器:(

选中了 ID 和 XPath 方法。已检查网页上元素的名称。什么也没发生。 检查了不同的组合,如 FileDescription = window_handler_variable.find_element(by=By.XPATH, '//*[@id=“arid_WIN_0_8”]') 等 只想得到这个元素并能够点击它。

python google-chrome selenium-webdriver

评论

0赞 SILA 10/25/2023
您好,您使用的是哪个硒版本?
0赞 Krzysztof 10/25/2023
你好,这是个好主意。我使用的是 4.11.2。更新到 4.14.0 后已检查 - 相同的问题:(
0赞 SILA 10/25/2023
嗨,我做到了,它的作品。selenium 版本 3.14.0 您的目标是下载图像吗?现在只下载了50张图片,我不明白原因。
0赞 Krzysztof 10/26/2023
感谢@Laura的帮助。实际上我已经为这个问题提供了资金。注意到我在操作过程中有一些小弹出窗口,关闭它后我不得不更新current_window_handle因为它发生了变化。因此,添加 window_handler_variable = driver.current_window_handle 而不是切换到该窗口解决了这个问题。就这么简单,但不知道为什么 maximize_window() 在不更新窗口句柄的情况下在该窗口上工作。
0赞 Krzysztof 10/26/2023
驱动程序 = web驱动程序。Chrome() ... #window_handler_variable.maximize_window() // PASS xyz = driver.current_window_handle driver.switch_to.window(xyz) xpathFileDescription = '//*[@id=“arid_WIN_0_8”]' FileDescription = window_handler_variable.find_element(by=By.XPATH, value=xpathFileDescription) // PASS

答: 暂无答案