我尝试单击一个元素,但出现错误:Element is not clickable at point (x,y.5)因为另一种元素使其模糊。我已经试过先移动到那个元素然后点击,也试过通过最小化窗口然后点击来改变坐标,但是两种方法都失败了。可能重复的问题有我已经试过的答案,没有一个对我有效。此外,相同的代码在不同的PC上工作。如何解决呢?
Element is not clickable at point (x,y.5)
ztmd8pv51#
这通常在element.click()不工作时有效:
element.click()
element = driver.find_element_by_xpath(xpath) driver.execute_script("arguments[0].click();", element)
w46czmvw2#
有一件事你也许可以做,虽然很粗糙,但我得马上承认。可以模拟单击所需图元前面的图元,然后模拟按[Tab]和[Enter]键。实际上,我最近经常看到这样的错误,我使用的是由bare selenium提供的常用.click()命令-类似driver.find_element_by_xpath(xpath).click()。我发现使用ActionChains解决了这个问题。像ActionChains(driver).move_to_element(element).click().perform()这样的东西对我很有效。您将需要:from selenium.webdriver.common.action_chains import ActionChains
.click()
driver.find_element_by_xpath(xpath).click()
ActionChains(driver).move_to_element(element).click().perform()
from selenium.webdriver.common.action_chains import ActionChains
58wvjzkj3#
这是@ wraks的想法,但如果使用php-webdriver你可以使用下面的代码:
$element = $driver->findElement(WebDriverBy::cssSelector($id_login)); $driver->executeScript("arguments[0].click();", [$element]);
rmbxnbpk4#
如果有人在寻找@ crucks发布的Java版本的解决方案,请点击这里:
WebElement element = driver.findElement(By.xpath("//*[@id='element1']")); ((RemoteWebDriver) driver).executeScript("arguments[0].click();", element);
qxgroojn5#
我也遇到过同样的问题,虽然我不是在python环境中。在我的例子中,这是由那些烦人的Cookie声明/警告引起的,你必须点击它们。Cookie声明/警告模糊了我需要点击的元素。所以,对我来说,解决办法是点击接受按钮。我看了这段视频才明白:https://youtu.be/k6g4MMavM1U
jei2mxaa6#
我发现有时候网页没有完全加载,答案就像添加一个时间一样简单。sleep(2)
6条答案
按热度按时间ztmd8pv51#
这通常在
element.click()
不工作时有效:w46czmvw2#
有一件事你也许可以做,虽然很粗糙,但我得马上承认。
可以模拟单击所需图元前面的图元,然后模拟按[Tab]和[Enter]键。
实际上,我最近经常看到这样的错误,我使用的是由bare selenium提供的常用
.click()
命令-类似driver.find_element_by_xpath(xpath).click()
。我发现使用ActionChains解决了这个问题。
像
ActionChains(driver).move_to_element(element).click().perform()
这样的东西对我很有效。您将需要:
from selenium.webdriver.common.action_chains import ActionChains
58wvjzkj3#
这是@ wraks的想法,但如果使用php-webdriver你可以使用下面的代码:
rmbxnbpk4#
如果有人在寻找@ crucks发布的Java版本的解决方案,请点击这里:
qxgroojn5#
我也遇到过同样的问题,虽然我不是在python环境中。在我的例子中,这是由那些烦人的Cookie声明/警告引起的,你必须点击它们。Cookie声明/警告模糊了我需要点击的元素。所以,对我来说,解决办法是点击接受按钮。
我看了这段视频才明白:
https://youtu.be/k6g4MMavM1U
jei2mxaa6#
我发现有时候网页没有完全加载,答案就像添加一个时间一样简单。sleep(2)