繁体   English   中英

如何使用xpath从具有相同类名的多个div中提取链接

[英]how to extract links from multiple divs with the same class name with xpath

我正在做一个硒项目。 我有一个包含多个具有相同类名的divs网页,例如

<div class="usr_blk hid">...</div>
<div class="usr_blk hid">...</div>
<div class="usr_blk hid">...</div>
<div class="usr_blk hid">...</div>
<div class="usr_blk hid">...</div>
<div class="usr_blk hid">...</div>
<div class="usr_blk hid">...</div>
<div class="usr_blk hid">...</div>
<div class="usr_blk hid">...</div>

每个div里面是以下内容

<div class="usr_blk hid">
    <div class="image_info">
        <table>
            <tbody>
                <tr>
                    <td>
                        <a href="the link I want to scrape">Link</a>
                    </td>
                </tr>
           </tbody>
        </table>
    </div>
</div>

我想从每个div内的a tag提取link 这是我到目前为止尝试过的

list_xpath = "//div[@class='usr_blk hid']//div[@class='image_info']//a"
list_raw = driver.find_elements_by_xpath(list_xpath)
lst = [link.get_attribute('href') for link in list_raw]

但这会导致一个空列表。 我不确定我做错了什么。

提前致谢

由于公司政策,我无法与您共享网站链接。

尝试使用WebDriverWait

.visibility_of_all_elements_located返回一个网页元素列表:

wait = WebDriverWait(driver, 20)
list_raw = wait.until(EC.visibility_of_all_elements_located((By.XPATH, 'your_xpath')))

进口:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM