首页 >后端开发 >Python教程 >Selenium 的 EC.presence_of_element_ located 可以使用类选择器而不是 ID 吗?

Selenium 的 EC.presence_of_element_ located 可以使用类选择器而不是 ID 吗?

Patricia Arquette
Patricia Arquette原创
2024-12-07 15:04:23994浏览

Can Selenium's EC.presence_of_element_located Use Class Selectors Instead of IDs?

您可以将 Selenium 的 EC.presence_of_element_ located 与类选择器而不是 ID 选择器一起使用吗?

您正在尝试使用 Selenium 的 EC。 Presence_of_element_ located 方法等待具有 ng-binding ng-scope 类的元素出现在网页上,但不起作用。您收到的错误消息是:

Message: invalid selector: Compound class names not permitted

发生此错误是因为 EC.presence_of_element_ located 不支持在其选择器中使用多个类名。

解决方案

要使用 Selenium 等待具有特定类的元素,可以使用 By.CLASS_NAME定位器。以下是修改代码的方法:

element = WebDriverWait(driver, 100).until(EC.presence_of_element_located((By.CLASS_NAME, "ng-binding ng-scope")))

此代码将等待具有 ng-binding ng-scope 类的元素在页面上可见。

其他注意

在某些情况下,您可能还需要使用 EC.visibility_of_element_ located 方法而不是EC.presence_of_element_ located。此方法将等待元素不仅出现而且在页面上可见。

以上是Selenium 的 EC.presence_of_element_ located 可以使用类选择器而不是 ID 吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn