gpt4 book ai didi

Python Selenium - 动态生成的数据未添加到 DOM

转载 作者:太空宇宙 更新时间:2023-11-04 03:12:10 25 4
gpt4 key购买 nike

我正在使用 python selenium

我正在运行这个简单的代码

driver = webdriver.PhantomJS()
#Also use driver = webdriver.Chrome()
driver.get("my_url")
driver.find_element_by_xpath("//*[@id='lb_LoadMore_button_text_2']").click()
print [x.text for x in driver.find_elements_by_xpath("//font[@class='ProductTitle']")]

我点击的按钮是“加载更多”按钮。在 Chrome webdriver 上,我看到正在加载项目,但我不知道如何在提交点击后访问它们。

在尝试打印元素之前我也试过 driver.refresh()

诚然,我对 selenium 很陌生,但一直未能找到解决方案。

最佳答案

您可能只需要在点击后延迟,但我们不仅要添加 time.sleep() 调用,还要添加 explicitly wait通过 presence_of_all_elements_located() 显示产品标题:

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

driver.find_element_by_xpath("//*[@id='lb_LoadMore_button_text_2']").click()

# waiting
wait = WebDriverWait(driver, 10)
product_titles = wait.until(EC.presence_of_all_elements_located((By.XPATH, "//font[@class='ProductTitle']")))

print [x.text for x in product_titles]

关于Python Selenium - 动态生成的数据未添加到 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37666923/

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