元素在点 (x,y.5) 处不可点击,因为另一个元素遮住了它

Shu*_*ava 7 python selenium selenium-webdriver

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

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

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

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

此外,相同的代码在不同的 PC 上运行。

如何解决?

小智 18

这通常在element.click()不适用时有效:

element = driver.find_element_by_xpath(xpath)
driver.execute_script("arguments[0].click();", element)
Run Code Online (Sandbox Code Playgroud)


Ali*_*ino 9

您可能可以做一件事。虽然它很粗糙,但我会立即承认。

您可以模拟在需要的元素正前方的元素上的单击,然后模拟按 [TAB] 和 [ENTER] 的键。


实际上,我最近一直在看到该错误。我使用的.click()是裸 selenium 提供的常用命令,例如driver.find_element_by_xpath(xpath).click().

我发现使用 ActionChains 解决了这个问题。

类似的东西ActionChains(driver).move_to_element(element).click().perform()对我有用。

你会需要:

from selenium.webdriver.common.action_chains import ActionChains