在chrome上使用Python的Selenium webdriver-滚动到元素的中间位置

在chrome上使用Python的Selenium webdriver-滚动到元素的中间位置,python,selenium-webdriver,selenium-chromedriver,Python,Selenium Webdriver,Selenium Chromedriver,我试图通过使用XPATH来单击元素。我得到一个异常,元素在给定位置不可单击 我确信元素的中心是可单击的,那么如何获得元素的确切中间(x,y)并使用Python使用Selenium单击它呢 编辑: 我找到了解决此问题的方法: driver.execute_script("arguments[0].scrollIntoView(true);", element) time.sleep(0.5) element.click() time.sleep是缺少的链接。实际上,selenium本身尝试单击元

我试图通过使用XPATH来单击元素。我得到一个异常,元素在给定位置不可单击

我确信元素的中心是可单击的,那么如何获得元素的确切中间(x,y)并使用Python使用Selenium单击它呢

编辑:

我找到了解决此问题的方法:

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

time.sleep是缺少的链接。

实际上,selenium本身尝试单击元素中心位置的元素,因此,由于窗口大小或任何其他原因,当目标元素被其他元素覆盖时,通常会发生此异常,例如它会隐藏在滚动条内等

因此,基本上,如果您想将精确的元素放入视图端口,以便单击它,您应该尝试使用将当前元素滚动到浏览器窗口可见区域的方法,如下所示:-

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

当selenium自己尝试单击中心的元素时,您如何确定元素只能在中心单击?您可能只需将元素滚动到视图中即可单击它。谢谢您的回答。我尝试了您的解决方案,但仍然出现以下异常:selenium.common.exceptions.WebDriverException:Message:unknown error:Element在点(455393)处不可单击。其他元素将收到点击:

您的解决方案是局部的,实际解决这个问题的方法是使用time.sleep(0.5)和element.click()