作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图仅通过使用 XPATH 获取元素来单击它。我得到一个异常(exception),即元素在给定位置不可点击。
我确定元素的中心是可点击的,那么我如何获得元素的确切中间(x,y)并使用 Python 使用 Selenium 单击它?
编辑:
我找到了解决这个问题的方法:
driver.execute_script("arguments[0].scrollIntoView(true);", element)
time.sleep(0.5)
element.click()
最佳答案
实际上 selenium 本身会尝试单击元素中心位置的元素,因此当目标元素由于窗口大小或任何其他原因而被其他元素覆盖时,通常会发生此异常,例如它会隐藏在滚动条内等。
所以基本上如果你想将确切的元素放入视口(viewport),所以你可以点击它,你应该尝试使用 scrollIntoView()
将当前元素滚动到浏览器窗口的可见区域的方法,如下所示:-
element = driver.find_element..
driver.execute_script("arguments[0].scrollIntoView()", element)
关于python - Selenium webdriver with Python on chrome - 滚动到元素的确切中间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39066399/
我是一名优秀的程序员,十分优秀!