如果我的浏览器缩放级别为 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%。我在这里做错了什么吗?或者有其他方法可以解决这个问题吗?
最佳答案
您可以使用 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/