Python& Selenium - 未知错误:元素在点(663,469)处不可点击。其他元素将收到点击:

时间:2016-03-16 11:06:10

标签: python selenium

我有这个Selenium代码,应该点击一个尺寸选择按钮。

submit_button = driver.find_element_by_class_name('pro_sku')

elementList = submit_button.find_elements_by_tag_name("a")

elementList[3].click()

它适用于其他页面但现在在一个页面上我收到此错误:

selenium.common.exceptions.WebDriverException: Message: unknown error: Element is not clickable at point (663, 469). Other element would receive the click:

我不明白,因为我可以查看Selenium打开的浏览器窗口,我通常可以点击这些按钮。

我该如何解决这个问题?

有人要求提供该网站。这是:http://de.sinobiological.com/GM-CSF-CSF2-Protein-g-19491.html

3 个答案:

答案 0 :(得分:3)

您可以使用Xpath进行元素选择,然后使用以下方法

   # Click on Element 
   def element_click(self, xpath):
      xpath = re.sub('"', "'", xpath)
      browser.execute_script("""
                                 var elements = document.evaluate("%s",
                                 document,
                                 null,
                                 XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
                                 null);
                                 var im = elements.snapshotItem(0);
                                 im.click();
                                 """ %(xpath)
                                 )

因此,如果您的x路径是正确的并且DOM上存在项目,那么它肯定会被点击。

快乐编码

答案 1 :(得分:1)

请尝试以下方法: -

driver.execute_script("arguments[0].click();", elementList[3])

希望它会对你有所帮助:)。

答案 2 :(得分:1)

您可以使用action_chains来模拟鼠标移动

actions = ActionChains(driver)
actions.move_to_element(elementList[3]).perform()
elementList[3].click()
  

修改

<a>代码不是实际尺寸。尝试

sizes = driver.find_elements_by_class_name('size_defaut')
sizes[3].click()