gpt4 book ai didi

python - 如何获取div之外的文本?

转载 作者:太空宇宙 更新时间:2023-11-03 19:43:31 34 4
gpt4 key购买 nike

<div class="amlocator-store-information" style="" xpath="1"> 
<div class="amlocator-title" style="">The Better Health Store</div>
2420 E-Stadium Ann Arbor MI 48104
<br><br>
(613) 975-6613
<div style="" class="amasty_distance" id="amasty_distance_1">Distance:
<span class="amasty_distance_number"></span>
</div>
</div>

我正在使用 selenium 和 python 并尝试从 DOM 获取地址,但我不能,我用过

store_block_list  = '//div[@class="amlocator-store-information"]'
store_block_list = '//div[@class="amlocator-title"]'

捕获元素但无法获取地址,因为您可以看到地址位于//div 元素之外请注意,它是一个元素列表,然后我使用 for 循环来循环元素列表

最佳答案

要提取地址,即 2420 E-Stadium Ann Arbor MI 48104,因为它是一个文本节点,您需要为visibility_of_element_ located() 使用 execute_script() 方法,您可以使用以下任一 Locator Strategies :

  • 使用CSS_SELECTOR:

    print(driver.execute_script('return arguments[0].childNodes[2].textContent;', WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.amlocator-store-information")))).strip())
  • 使用XPATH:

    print(driver.execute_script('return arguments[0].childNodes[2].textContent;', WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='amlocator-store-information']")))).strip())
  • 注意:您必须添加以下导入:

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

关于python - 如何获取div之外的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60288910/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com