gpt4 book ai didi

python-3.x - Python Selenium find_element_by_xpath

转载 作者:行者123 更新时间:2023-12-03 08:04:17 26 4
gpt4 key购买 nike

我想从以下代码中提取文本“ 3351500920037”:

<div class="specs">
<h3 class="h4">Productinformatie</h3>
<dl class="specs__list">

<dt class="specs__title">
Gewicht

</dt>
<dd class="specs__value">

0,3 kg

</dd>

<dt class="specs__title">
EAN

</dt>
<dd class="specs__value">

3351500920037

</dd>

</dl>
</div>


我用

ref_code = driver.find_element_by_xpath('//*[contains(text(),"EAN")]/following-sibling::dd').text


当我打印ref_code时,似乎仅采用文本的第一行。它似乎是空的。

我有的:

print(ref_code)


我想拥有:

print(ref_code)
3351500920037


如何获取包括下一行在内的整个文本?

最佳答案

该项目在页面上不可见,这就是visibility_of_element_located()超时超时的原因。

要提取文本3351500920037,您需要导出WebDriverWaitpresence_of_element_located()get_attribute('textContent'),它将给出您想要的结果。

print(WebDriverWait(driver,20).until(EC.presence_of_element_located((By.XPATH, "//*[contains(.,'EAN')]/following-sibling::dd[1]"))).get_attribute('textContent'))




这是完整的代码:

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

driver = webdriver.Chrome()
driver.get("https://www.bol.com/")
query='Azzaro Chrome 100 ml'
searchelement=WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.ID,"searchfor")))
searchelement.send_keys(query)
searchelement.submit()
WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,".product-title.px_list_page_product_click"))).click()
print(WebDriverWait(driver,20).until(EC.presence_of_element_located((By.XPATH, "//*[contains(.,'EAN')]/following-sibling::dd[1]"))).get_attribute('textContent'))
driver.quit()

关于python-3.x - Python Selenium find_element_by_xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58144263/

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