python - 如何使用 Selenium、Xpath 和预期条件按属性获取元素
问题描述
这就是我正在使用的:
getByAttribute = WebDriverWait(amazonDriver, 10).until(EC.visibility_of_element_located((By.XPATH, "//div[@an-attribute='data-category']")))
该元素如下所示:
<div class='nav-subnav' data-category='drugstore'>
这出现在每个亚马逊产品页面上。
它超时并且找不到元素。
解决方案
用于@data-category
按属性获取元素。
getByAttribute = WebDriverWait(amazonDriver, 10).until(EC.visibility_of_element_located((By.XPATH, "//div[@data-category]")))
CSS 选择器:
getByAttribute = WebDriverWait(amazonDriver, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div[data-category]")))
推荐阅读
- javascript - 更新 html 表格数据
- mysql - Mysql 错误 #1064 没有提供错误描述
- javascript - 用于电话号码验证的 Javascript RegEx 构建
- macos - OpenGL 3.3(mac)错误验证程序:验证失败:没有顶点数组对象绑定
- spring - java.lang.NoSuchMethodError:org.springframework.beans.factory.support.CglibSubclassingInstantiationStrategy
- javascript - Promise.all 中的链式承诺,没有包装器 Promise
- android - 这两个应该一样吗?NotificationChannel.setGroup 和 Notification.Builder.setGroup
- c - 使用 libssh 复制文件
- excel - excel,其他选项卡中的条件格式
- javascript - 在同一存储库中的多个项目/文件夹/应用程序之间共享代码