Failed to execute 'elementsFromPoint' on 'Document': The provided double value is non-finite
时间: 2024-05-17 20:18:36 浏览: 182
这个错误是由于提供了一个无限或非数字的坐标值导致的。通常,这个错误会在使用 JavaScript 进行 DOM 操作时发生。可能的原因包括:
1. 提供的坐标值为无限值或非数字值(NaN)。
2. 代码中的某个变量未被正确初始化或赋值。
3. 代码中的某个函数返回了无限值或非数字值。
解决这个问题的方法包括:
1. 检查代码中的坐标值是否正确,并确保它们不是无限值或非数字值。
2. 检查代码中的变量是否已经正确初始化或赋值。
3. 检查代码中的函数是否正确处理了无限值或非数字值的情况。
希望这可以帮助你解决问题。
相关问题
执行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.这是为什么?
这个错误通常是由于 `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` 执行操作。
如果你还是遇到问题,请提供完整的错误信息和代码,以便更好地定位问题。
阅读全文