执行webdriver.ActionChains(driver).move_to_element(element).click(element).perform()时,报错selenium.common.exceptions.JavascriptException: Message: javascript error: Failed to execute 'elementsFromPoint' on 'Document': The provided double value is non-finite.这是为什么?
时间: 2024-03-20 11:41:03 浏览: 157
selenium-python.pdf
这个错误通常是由于 `element` 定位到的元素不在当前的可视区域内,导致 `move_to_element` 方法无法正确执行。在这种情况下,`click` 操作可能会被视为非法的,并导致 JavaScript 错误。
为了解决这个问题,你可以尝试使用 `WebDriverWait` 显式等待,直到元素可见后再执行操作,例如:
```python
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "my-element"))
)
actions = webdriver.ActionChains(driver)
actions.move_to_element(element).click().perform()
```
这个方法首先使用 `WebDriverWait` 等待元素可见,然后使用 `ActionChains` 执行操作。
如果你还是遇到问题,请提供完整的错误信息和代码,以便更好地定位问题。
阅读全文