我们拥有自动化流程,几个月来一直在抓取网站。最近我们发现我们的刮刀无法正常工作。
事实证明,网站已被更改,以便他们在框架内放置一个包含9列的表格。但是,框架或表格的样式不正确,并且只有前6列在屏幕上以100%缩放,因为表格太大。当您缩小到大约50%时,其余列将设置为适合视图。
不幸的是,我需要点击的最后一列上有一个按钮,但Selenium不喜欢它,并说该元素在100%缩放时不在视图中。
当我使用以下内容检查它是否在视图中时
while (!elmt.isDisplayed()) {
// wait for it
}
并手动缩小页面,以便带有按钮的列进入视图,然后成功单击该按钮。
如何缩小页面?
答案 0 :(得分:2)
是的,我在Safari测试时遇到了类似的问题。
解决方法是在对该页面执行任何操作之前以编程方式缩小页面。
在js的帮助下,您可以这样做:
document.body.style.zoom = "30%"
或者无论需要什么价值。在selenium中使用javascript引擎来执行此脚本。
这项工作非常适合我。