硒按钮单击python

时间:2019-04-22 09:14:56

标签: selenium button xpath click

我无法单击包含JavaScript的按钮:

<div style="width:100%; float:left;"><div class="btn btn-search" onclick="javascript: search(); " style="cursor:pointer;width:100%" align="center">Ara</div></div>

我找到了该元素,但是下面的代码没有单击:

browser.find_element_by_xpath('//div[@class="btn btn-search"]').click()

browser.find_element_by_xpath('//div[@onclick="javascript:"]').click()

返回此消息:

Message: unknown error: Element is not clickable at point (1153, 417)

1 个答案:

答案 0 :(得分:1)

看起来像是错误。

  1. 该元素已加载到DOM中,但位置尚未在UI上固定。
  2. 可能还有其他一些div未完全加载。

可能的解决方案:

通过click()使用WebdriverWait

from selenium.webdriver.support.ui import WebDriverWait

wait = WebDriverWait(browser, 30)
element = wait.until(EC.visibility_of_element_located((By.XPATH, //div[@class="btn btn-search"]')))
element.click()

使用WebdriverWait执行Javascript

from selenium.webdriver.support.ui import WebDriverWait

wait = WebDriverWait(browser, 30)
element = wait.until(EC.visibility_of_element_located((By.XPATH, '//div[@class="btn btn-search"]')))
browser.execute_script("arguments[0].click();", element)

更多参考:https://www.seleniumeasy.com/selenium-tutorials/element-is-not-clickable-at-point-selenium-webdriver-exception

另外,当您提出问题时,请分享,

  • 完整错误和代码(尤其是您尝试执行之前的行 点击)。

  • 浏览器之类的其他详细信息(错误似乎来自Chrome浏览器 因为它指示了点的位置。

这将帮助社区更清楚地了解您的问题。