问题标签 [selenium-webdriver-python]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 当元素仅部分被遮挡时,Selenium 中的 ElementClickInterceptedException
我正在使用 Selenium 进行测试。我想点击一个元素。该元素非常可点击和可见,但恰好元素的中点被遮挡,导致错误。
这是一个MCVE:
HTML 代码(演示链接):
Python硒代码:
结果:
这似乎是 Selenium 的一个相当可悲的限制。该按钮是可点击的,但不是所有点。我不想摆弄滚动和坐标。
一般来说,关于异常有很多类似的问题,例如:
- 无法单击元素:Splinter / Selenium 中的 ElementClickInterceptedException
- Selenium 无法单击元素,因为其他元素会遮挡它
- 元素不可点击,因为另一个元素在 python 中隐藏了它
但是,这些问题从来都不是专门针对仅部分模糊的元素,因此我还没有设法找到自己问题的正确答案。其他问题的答案通常分为以下几类:
- 等到元素可点击。不适用于这里。
- 使用动作链,例如
ActionChains(driver).move_to_element(button).click().perform()
。这无济于事,因为.move_to_element()
移动到元素的中间。 - 使用 JavaScript 执行点击。看来我可能不得不求助于这个,但这很不令人满意。我仍然想验证该元素至少在某处是可点击的,而不是绕过所有检查。
python - 在有头模式下完美运行的 Selenium 脚本无法在无头模式下运行(Python)
我正在尝试使用 Selenium(Chrome 驱动程序)下载文件。我使用了一个包含要下载的小示例音频文件的测试网站。该脚本在有头模式下使用时工作正常,文件下载但在无头模式下失败。我查看了一些相关问题,并确保我使用了所有提到的 Chrome 驱动程序选项,但多次弹出以下错误
我也尝试了这里提到的答案,但没有奏效
我的代码如下
没有适当的回溯,但我相当有信心该错误是由于该driver.get()
方法,因为注释掉该行并没有产生它
Chrome 版本 - 87.0.4280.141
Chrome 驱动程序版本 - 87.0.4280.88
任何帮助,将不胜感激。谢谢!
selenium - Selenium Python firefox webdriver
FirefoxProfile 配置文件 = 新的 FirefoxProfile();
profile.setPreference("network.proxy.type", 1);
profile.setPreference("network.proxy.http", "localhost");
profile.setPreference("network.proxy.http_port", 3128);
WebDriver 驱动程序 = 新的 FirefoxDriver(firefox_profile=profile);
我正在使用下面的代码进行配置,但它给出了一个错误。您应该需要包含执行路径。我该如何解决。我在 pycharm 中运行这段代码。
python - 元素
我是 selenium 的新手,在从下拉列表中选择一个选项时遇到问题。
HTML 代码:
URL 还包含文件名
例子:
我的代码:
我在最后一步(ele.click())收到错误。等待并查找元素步骤工作正常。
Element <option> could not be scrolled into view
谢谢!
selenium - 使用 Selenium 检索数据
我一直在自学 Python 和 Selenium 来自动提交索赔。我设法通过大量搜索和反复试验偶然发现。但是,我无法解决这最后一步。提交索赔后,将生成索赔编号:
<div class="zclip-target" id="claim-number"> 484508-638544 </div>
我无法弄清楚如何检索这个值。无济于事,我试过:
claim_number=claim_number_element.getAttribute('value')
任何帮助或指导将不胜感激。
PS 还有一个按钮可以将该值复制到剪贴板。因此,如果有一种简单的方法可以从剪贴板中获取数据,那就是另一种解决方案。
python - Python Selenium StaleElement 异常
我正在寻找使用 Selenium 导航回上一页时出现的 StaleElementReferenceException 的解决方案。
这是重现错误的示例代码:
我从类似的 stackoverflow 问题中了解了根本原因,例如Stale Element Reference Exception: How to solve?
但是,由于性能原因,建议的解决方案(即每次我导航回来时重新获取链接)并不适合我。
有没有其他选择?
例如,强制新页面在新选项卡中打开,以便我可以在两个选项卡之间导航?
任何其他解决方案表示赞赏
python-3.x - 处理硒异常
我正在将 python selenium-webdriver 用于网络抓取项目。问题是在 driver.get() 将我重定向到“重定向你太多次”页面后,我收到了这个错误
我试图处理这样的异常
但它不起作用。有没有可能处理这个异常?
xpath - 我的 xpath 不工作 - 无效的选择器:无法使用 xpath 表达式定位元素
如何选择路线编号。
我正在尝试通过这个 xpath(这里的路由是动态变化的)所以我正在传递值
路线='12345'