Python on chrome 的 Selenium webdriver - 滚动到元素的确切中间

Selenium webdriver with Python on chrome - Scroll to the exact middle of an element

我正在尝试仅通过使用 XPATH 获取元素来单击该元素。我得到一个异常,该元素在给定位置不可点击。

我确定元素的中心是可点击的,那么如何获取元素的确切中间 (x,y) 并使用 Python 通过 Selenium 单击它?

编辑:

我找到了这个问题的解决方案:

driver.execute_script("arguments[0].scrollIntoView(true);", element)
time.sleep(0.5)
element.click()

time.sleep 是缺失的 link。

实际上 selenium 本身试图点击元素中心位置的元素,所以当目标元素由于 window 的大小或任何其他原因而被其他元素覆盖时,通常会发生这种异常,就像它会是隐藏在滚动条等里面

所以基本上如果你想将准确的元素放入视口,这样你就可以点击它,你应该尝试使用 scrollIntoView() 方法将当前元素滚动到浏览器的可见区域 window 如下:-

element = driver.find_element..
driver.execute_script("arguments[0].scrollIntoView()", element)