元素在点(x,y.5)处不可点击,因为另一个元素使其模糊

时间:2018-03-13 09:46:10

标签: python selenium selenium-webdriver

我试图点击某个元素但收到错误:

Element is not clickable at point (x,y.5)

因为另一个元素掩盖了它。

我已经尝试首先移动到该元素,然后单击并通过最小化窗口然后单击来更改坐标,但两种方法都失败了。可能重复的问题有我已经尝试过的答案,但没有一个对我有效。

此外,相同的代码正在另一台PC上运行。

如何解决?

4 个答案:

答案 0 :(得分:4)

你可以做一件事。虽然这很粗糙,但我马上就承认了。

您可以在需要的元素前面直接模拟元素,然后按[TAB]和[ENTER]模拟按键。

实际上,我最近看到了这个错误。我使用的是由硒提供的常见.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

答案 1 :(得分:3)

这通常在element.click()不起作用时起作用:

element = driver.find_element_by_xpath(xpath)
driver.execute_script("arguments[0].click();", element)

答案 2 :(得分:1)

这是@wrecks 的想法,但如果使用 php-webdriver,您可以使用以下代码:

$element = $driver->findElement(WebDriverBy::cssSelector($id_login));
$driver->executeScript("arguments[0].click();", [$element]);

答案 3 :(得分:-1)

我发现有时网页没有完全加载,答案很简单,只需添加一个 time.sleep(2)