python - 如何使用 Selenium 选择不同行中的所有元素
问题描述
我正在尝试从“thumbImg”类中选择组件。该网站有 3 行不同的行,行内有一些元素(那些是我想要获得的元素)。我的脚本不工作,我不知道为什么,它只返回一个没有信息的空列表。任何帮助,将不胜感激。
这是我必须刮掉的一个结果:
<div class="thumbnails">
<div class="row-0">
<div class="inside">
<div class="thumbImg">
<img src="...">
</div>
</div>
</div>
</div>
这是到目前为止的代码:
info = []
elem = driver.find_elements_by_xpath("//div[3]/div/div/div")
driver.implicitly_wait(10)
for e in elem:
info.append(e)
这是我从网站源复制的 XPath,但最后两个用于行,然后用于元素,这就是为什么我没有将它添加到我的元素中:
//*[@id="root"]/div/div[2]/div/div/div[3]/div/div/div/div[1]/div[1]
解决方案
我相信有 3 行带有<div class="row-0">
, <div class="row-1">
,<div class="row-2">
尝试这个 :
info = []
elem = driver.find_elements_by_xpath("div.thumbnails div[class*='row']")
for e in elem:
info.appende(e.get_attribute('innerHTML'))
推荐阅读
- python - panda 数据框按 ID 和日期聚合
- javascript - ServiceNow - 在中间服务器中更改文件名
- javascript - “错误:超时 - 在 jest.setTimeout 指定的 5000 毫秒超时内未调用异步回调。” 如何使我的测试用例独立?
- azure-iot-edge - IoT Edge 部署到 Kubernetes 并使用 Azure Arc 进行管理
- stripe-payments - 空优惠券 ID -STRIPE 的值
- git - 如何将分离的头部 git 项目签入新的远程 repp?
- node.js - 我尝试将包发布到 npm,但每次都会出现此错误。为什么?
- cmake - cmake 不包含 Gazebo 依赖项
- javascript - Vue JS - 组件中的反应性内容
- node.js - __Secure cookie 未在获取请求中发送