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

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

Patricia Arquette
发布: 2024-12-07 15:04:23
原创
960 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板