繁体   English   中英

循环遍历 Selenium/Python 中标签内的标签

[英]Loop through tags inside tags in Selenium/Python

我正在尝试使用 selenium 循环浏览 web 页面上的属性列表并返回属性地址和拍卖时间。 到目前为止,我有以下 python 代码和 html 用于下面的 web 页面。

我能够返回指向列表中每个属性的链接,但看不到从“H4”标签返回我需要的值。 我认为我在通过 Xpath 获取元素时做错了,但我似乎无法弄清楚。

任何帮助将不胜感激!

HTML:

<div data-elem-id="asset_list_content">
    <a href="/details/123-memory-lane">
        <div data-elm-id="asset_2352111_address" class="styles__address-container--2l39p styles__u-mr-1--3qZyj">
            <h4 data-elm-id="asset_2352111_address_content_1" class="styles__asset-font-big--vQU7K">123 memory-lane</h4>
            <label data-elm-id="asset_2352111_address_content_2" class="styles__asset-font-small--2JgrX">POWDER SPRINGS, GA 30127, Cobb County</label>
        </div>
        <div class="styles__auction-container--45DZU styles__u-ml-1--34mF_">
            <h4 data-elm-id="asset_2352111_auction_date" class="styles__asset-font-big--vQU7K">Apr 04, 10:00am</h4>
        </div>
    </a>
    <a href="/details/456-memory-lane">
        <div data-elm-id="asset_8463157_address" class="styles__address-container--2l39p styles__u-mr-1--3qZyj">
            <h4 data-elm-id="asset_8463157_address_content_1" class="styles__asset-font-big--vQU7K">456 memory-lane</h4>
            <label data-elm-id="asset_8463157_address_content_2" class="styles__asset-font-small--2JgrX">POWDER SPRINGS, GA 30127, Cobb County</label>
        </div>
        <div class="styles__auction-container--45DZU styles__u-ml-1--34mF_">
            <h4 data-elm-id="asset_8463157_auction_date" class="styles__asset-font-big--vQU7K">March 10, 10:00am</h4>
        </div>
    </a>
</div>

Python(硒):

propertyList = browser.find_elements_by_xpath('//div[@data-elm-id="asset_list_content"]')

for element in propertyList:
    propertyLinks = element.find_elements_by_tag_name('a')
    for propertyLink in propertyLinks:
        propertyAddress = propertyLink.get_element_by_xpath('//h4[1]')
        propertyAuctionTime = propertyLink.get_element_by_xpath('//h4[2]')
        print(propertyAddress).text
        print(propertyAuctionTime).text

Output:

propertyAddress = propertyLink.get_element_by_xpath('//h4[1]')
AttributeError: 'WebElement' object has no attribute 'get_element_by_xpath'

错误似乎是您正在使用get_element_by_xpath() ,这不是有效的方法。 在那之前,您在代码中使用find_elements_by_xpath() ,要查找您要查找的元素,您只需使用仅查找单个元素的方法: find_element_by_xpath()

暂无
暂无

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

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