【发布时间】:2017-10-24 09:39:31
【问题描述】:
如果我的浏览器的缩放级别为 100%,则其中一个按钮不会出现在 UI 上,因此一旦我使用以下代码放大,该特定按钮就会出现在 UI 上
driver.execute_script("document.body.style.zoom='80%'")
但即使按钮以放大状态出现在 UI 上,该特定按钮上的操作也不会发生,而是我收到此错误消息
{WebDriverException}消息:未知错误:元素 在点 (891, 568) 处不可点击。其他 元素将收到点击:(会话信息: chrome=58.0.3029.110)(驱动程序信息:chromedriver=2.29.461591 (62ebf098771772160f391d75e589dc567915b233),平台=Windows NT 6.1.7601 SP1 x86)
我在本地机器上没有遇到问题,因为当浏览器的缩放级别为 100% 时,该特定按钮会出现在 UI 上,它运行良好,因为我不必放大。
但是由于我必须在使用客户端计算机远程连接的虚拟机上工作,所以我遇到了这个 UI 问题。由于虚拟框屏幕出现在我的客户端计算机屏幕内,因此它的高度减小了,并且该特定按钮从底部的 UI 中消失了。
因此需要放大以执行此操作并再次将缩放级别重置为 100%。我在这里做错了什么还是有其他方法可以解决此类问题?
【问题讨论】:
-
你可以尝试滚动元素而不是缩小吗
JavascriptExecutor jse = (JavascriptExecutor)driver; jse.executeScript("window.scrollBy(0,250)", "");如果遇到同样的问题,请告诉我 -
更改客户端机器的分辨率
-
@ShoaibAkhtar 为什么你同时使用
Java和Python标签?你的客户是用什么语言写的?您还可以考虑发布有问题的代码的 sn-p 吗?就目前的情况而言,很难调试您的问题。同样,a.f.a.i.k,Webdriver 在执行.click()之类的操作时不受display port的约束,因此可能存在另一个问题,为什么这不起作用。 -
@TrimantraSoftwareSolution 我现在附上了有问题的屏幕截图,即使使用滚动条按钮也不会出现
-
@san1deep2set3hi 我设置了最大分辨率,即虚拟框为 1400*796,我的客户端机器为 1400*900,减少它会显示太多大字体。此外,由于虚拟框屏幕出现在客户端机器内,因此其高度降低并导致此问题
标签: java python selenium selenium-webdriver virtualbox