NoSuchElementException:使用 Selenium 和 Chrome 时无法定位元素
使用 Chrome 运行 Selenium 测试时,可能会出现以下错误:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element {"method":"id","selector":"window1"
此错误表明 Selenium 无法找到由“id”定位器与选择器“window1”。尽管可以在 Firefox 上运行,但该问题在 Chrome 上仍然存在。
NoSuchElementException 的原因:
NoSuchElementException 可能会在以下情况下出现:
此用例的解决方案:
在此在特定场景中,“window1”画布无法通过其 ID 定位,因为定位器无法唯一标识它。要解决此问题,请使用以下代码块:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//canvas[@id='window1']"))).click()
此代码使用 WebDriverWait 等待画布可单击,然后再单击它。
其他故障排除提示:
通过解决这些潜在问题,您可以使用 Selenium 成功定位元素并与元素交互,并避免 NoSuchElementException。
以上是为什么在 Firefox 中工作时,我的 Selenium Chrome 测试会失败并出现 NoSuchElementException?的详细内容。更多信息请关注PHP中文网其他相关文章!