我正在使用Java和Selenium编写测试。目标应用程序有一些内页,我需要在一个页面中滚动到一个web元素的顶部。我用过:
jse.executeScript("arguments[0].scrollTop", element);
但它不起作用,我也使用了scrollIntoView
,但由于该元素被另一个元素覆盖,所以它不起作用。
答案 0 :(得分:0)
更新刚刚看到您的评论,很高兴您能够以更简洁的方式开展工作。
使前景中的元素不可见,然后使用scrollIntoView()。
...类似于jse.executeScript('arguments[0].style.visibility="hidden"', element)
?
我的Python解决方案,它应该很容易翻译:
def makeInvisible(driver, element):
driver.execute_script('arguments[0].style.visibility="hidden"', element)
我通常通过xpath获取元素,然后将其传递给该函数。您还可以仔细检查某些内容是否隐藏了等效于:
def isInvisible(driver, element):
return driver.execute_script('return window.getComputedStyle(arguments[0]).display === \'none\'', element)
当然,编写一个函数,使元素再次可见。 希望有所帮助!