java - 当缩放级别为 100% 时,如何单击 UI 上不可见的元素?

标签 java python selenium selenium-webdriver virtualbox

如果我的浏览器缩放级别为 100%,其中一个按钮不会出现在 UI 上,因此一旦我使用以下代码进行放大,该特定按钮就会出现在 UI 上

driver.execute_script("document.body.style.zoom='80%'")

但是即使按钮在放大状态下出现在 UI 上,该特定按钮上的操作也不会发生,而是收到此错误消息

{WebDriverException}Message: unknown error: Element is not clickable at point (891, 568). Other element would receive the click: (Session info: chrome=58.0.3029.110) (Driver info: chromedriver=2.29.461591 (62ebf098771772160f391d75e589dc567915b233),platform=Windows NT 6.1.7601 SP1 x86)

我在本地计算机上没有遇到问题,因为当浏览器缩放级别为 100% 时,该特定按钮会出现在 UI 上,因此它工作得很好,因为我不需要放大。

但是由于我必须在使用客户端计算机远程连接的虚拟盒上工作,所以我遇到了这个 UI 问题。由于虚拟框屏幕出现在我的客户端计算机的屏幕内,因此其高度会降低,并且该特定按钮会从底部的 UI 中消失。

因此需要放大才能执行此操作,并再次将缩放级别重置为 100%。我在这里做错了什么吗?或者有其他方法可以解决这个问题吗?

编辑:附加屏幕截图 enter image description here

最佳答案

您可以使用 ActionChains 模拟滚动类

from selenium.webdriver.common.action_chains import ActionChains

element = driver.find_element_by_...
ActionChains(driver).move_to_element(element).perform()
element.click()

关于java - 当缩放级别为 100% 时,如何单击 UI 上不可见的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44151679/

相关文章:

python - 使用 Python 从 Azure Key Vault 解码 JsonWebKey

c# - 为什么我的 .net core xunit 测试找不到我的 appsettings.json?

java - 提取具有相同类名的表数据

angularjs - Internet Explorer Selenium protractor e2e 测试

java - 使用 Array-Java 实现队列

python - 相当于Python中的一段PHP代码

javascript - Java 8 Lambda 构造和 JavaScript 之间的确切区别是什么?

python - Django icontains 多关系查询检索重复行

java - 如何使用对象的原始类来转换引用?

c# - 制作井字游戏的领域模型