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