python - 更改 python selenium webdriver 的缩放会破坏点击功能?
问题描述
每次我尝试加载缩小的页面时,我希望程序单击的元素不再被单击,并且它给出一个 ElementClickInterceptedException 表示它正在尝试单击不同的元素。我已经测试了不同的变焦,相同的结果。几乎就像它只是将元素的 X 和 Y 坐标用于正常缩放页面,即使我更改了它的缩放(即,如果一个元素靠近页脚并且我缩小了,它会单击它正下方的元素,它以前所在的位置)。我认为只要我使用 find_element_by 任何东西,元素在页面上的位置都无关紧要,但我在这里。有人知道修复吗?这是我加载网站并缩小的方式:
driver.get(website)
driver.execute_script("document.body.style.zoom='80%'")
这是引发错误的单击:
ch = driver.find_element_by_css_selector('input.changeplayer.form-control.ui-autocomplete-input')
ch.click()
解决方案
长期以来,这一直是一个已知问题。ChromeDriver 不能有效地支持缩放点击。自 2013 年以来,这一直是一个问题,并且似乎没有修复工作。
It's almost like it's just using the elements' X and Y coords
在某种程度上,是的。缩放会改变偏移量,因此 ChromeDriver 无法正确定位页面的右侧部分。
推荐阅读
- powershell - 需要协助复制任务
- php - Laravel 使用 ajax 自动更新 div 内容
- python - 按发件人 IMAP.search() 查找邮件
- angularjs - 如何连接和配置 Angular 应用程序以通过 Keycloak 进行身份验证
- python - 使用多索引附加数据框
- spring-boot - 如何在springApplication中创建.war文件
- reactjs - ReactJS Daterangepicker - 同一组件中的多个实例
- python - lmfit中curve_fit的popt等价物是什么?
- reactjs - 第二个find mongo函数返回零数组
- python - 如何使用请求和 ZipFile 进行猴子补丁功能?