0
我正在使用Java和Selenium编写测试。目标应用程序有一些内部页面,我需要滚动到一个页面中的Web元素的顶部。我用:无法滚动到网页元素,因为它被其他元素覆盖
jse.executeScript("arguments[0].scrollTop", element);
,但它没有工作,我也用scrollIntoView
但作为元素被另一个元件覆盖它没有工作。
我正在使用Java和Selenium编写测试。目标应用程序有一些内部页面,我需要滚动到一个页面中的Web元素的顶部。我用:无法滚动到网页元素,因为它被其他元素覆盖
jse.executeScript("arguments[0].scrollTop", element);
,但它没有工作,我也用scrollIntoView
但作为元素被另一个元件覆盖它没有工作。
更新刚刚看到您的评论,很高兴您能以更简洁的方式工作。
使前景中的元素不可见,然后使用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)
当然,写一个函数与上面再做可见的元素。 希望有所帮助!
您可能希望将页面的标记添加到您的问题中。就目前而言,没有足够的信息来提供答案。 – Brian
我用'scrollIntoView(false)'它工作 – LoveJavaTwo
这个问题的答案:http://stackoverflow.com/questions/35355643/selenium-webdriver-element-not-clickable-error-in-firefox/35359067#35359067应该帮助你。 – Ardesco