我目前正在处理一个自动填写表格的项目。当表单填写时,下一个按钮会出现,这就是为什么它给我一个错误。
我试过:
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH,"//input[@type='button' and @class='button']")))
Next = driver.find_element_by_xpath("//input[@type='button' and @class='button']")
Next.click()
HTML:
<span class="btn">
<input type="button" value="Next" class="button" payoneer="Button" data-controltovalidate="PersonalDetails" data-onfieldsvalidation="ToggleNextButton" data-onclick="UpdateServerWithCurrentSection();" id="PersonalDetailsButton">
</input>
<div class="clearfix"></div>
</span>
错误:
selenium.common.exceptions.ElementClickInterceptedException:消息:元素点击被拦截:元素在点(203,530)不可点击。其他元素将收到点击:...(会话信息:chrome=76.0.3809.132)
我遇到了类似的问题,.click()总是返回一个不可点击的异常。这
driver.execute_script('arguments[0].click()', button)
有魔力。您也可以使用它以这种方式执行任何其他js脚本
script = 'your JavaScript goes here'
element = driver.find_element_by_*('your element identifier goes here')
driver.execute_script(script, element)
此错误消息...
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element is not clickable at point (203, 530). Other element would receive the click: ... (Session info: chrome=76.0.3809.132)
...这意味着所需元素上的 click()
被其他元素拦截,并且所需元素不可单击。
您需要考虑以下几点:
time.sleep(secs)
来实现自动化会破坏自动化的目的,应不惜任何代价避免。根据留档:时间。睡眠(秒)
在给定的秒数内暂停当前线程的执行。参数可以是浮点数,以指示更精确的睡眠时间。实际暂停时间可能小于请求的时间,因为任何捕获的信号都将在执行该信号的捕获例程后终止sleep()。此外,由于系统中其他活动的调度,暂停时间可能比请求的时间长任意量。
click()
方法。要单击值为“下一步”的按钮,您可以使用以下任一定位器策略:
>
使用CSS_SELECTOR
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.button#PersonalDetailsButton[data-controltovalidate='PersonalDetails']"))).click()
使用XPATH
:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@class='button' and @id='PersonalDetailsButton'][@data-controltovalidate='PersonalDetails']"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
如果xpath的路径是正确的,也许你可以尝试这种方法来解决这个问题。将旧代码替换为以下代码:
button = driver.find_element_by_xpath("xpath")
driver.execute_script("arguments[0].click();", button)
我以前解决过这个问题,但是说实话,我不知道原因。
我正在使用selenium测试脚本。我得到以下错误和这个错误随机发生。当我跑10次时,我会得到大约两次。所以它不是真的可复制的。有人知道为什么会这样吗?我试图单击的元素在浏览器中绝对可见,并且不会四处移动,因此不需要调整大小或拖动元素。我正在使用chrome webdriver,我阅读了其他故障排除策略(调试“Element is not clickable at point”错误),它们似乎与我
我正在尝试自动“Tableau”登录屏幕和下载报告流程。在我到达“下载”按钮之前一切正常。第一个问题是我无法右键单击下载按钮并在Chrome进行“检查”,这很奇怪。我不知何故能够通过浏览整个页面来找到xpath。当我尝试单击它时,我得到“由:org.openqa.selenium.NoSuchElementException引起:没有这样的元素:无法定位元素:{"方法":"xpath","sele
我最近将selenium升级到最新版本(2.53),将firefox升级到最新版(45.0.1)。 我在相同的网站上运行相同的代码,但我突然有很多这样的例外: Web 驱动程序异常: 消息: 元素在点 (312, 8.816665649414062) 不可单击。其他元素将收到单击: 例如: 有什么我应该注意的新东西吗?我之前的python selenium版本相当旧,而且我在Firefox 38上
用我在selenium的初学者知识,我试图找到点击元素,打开链接。这些项目的链接没有href。我如何执行点击正确的元素打开链接。 我正在使用python、selenium、chrome web驱动程序、BeautifulSoup。所有库都已更新。 下面是示例html片段,其中有一个我需要使用selenium点击的标题。请让我知道,如果你需要更多的html源。此代码来自仅限“登录”的网站。
最近,我用硒在网站上抓取了一些信息。我想做的只是点击“上个月的按钮”。 所以我写这样的代码 但它不起作用,我改变了很多次,像这样改变代码 这些都不管用。当我尝试使用三个试用版中的第一个时(即:web driver . find _ element _ by _ CSS _ selector(' a . ui-icon ui-icon-circle-triangle-w ')。单击()),弹出的错误
我用selenium和python一起使用,我试图点击一个按钮,但它似乎不起作用。下面是html结构的图片: 这里 我已经尝试通过xpath和类单击该按钮,但没有成功。它也没有给我一个错误。我为每一个答案感到高兴!