首页 > 解决方案 > 如何使用 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]

标签: pythonhtmlselenium

解决方案


我相信有 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'))

推荐阅读