gpt4 book ai didi

Python Selenium Webdriver 在更改 AJAX 页面中的下拉值后不会刷新 html

转载 作者:行者123 更新时间:2023-12-01 06:37:53 27 4
gpt4 key购买 nike

我正在尝试使用 Python 和 Selenium 抓取 AJAX 网页。问题是,当我更改下拉值时,页面内容根据我的选择而变化,但 selenium 从页面返回相同的旧 html 代码。如果有人可以提供帮助,我将不胜感激。这是我的代码:

from selenium import webdriver
from selenium.webdriver.support.ui import Select
import time

url = "https://myurl.com/PATH"

driver = webdriver.Chrome()
driver.get(url)
time.sleep(5)

# change the dropdown value
sprintSelect = Select(driver.find_element_by_id("dropdown-select"))
sprintSelect.select_by_visible_text("DropDown_Value2")

html = driver.execute_script("return document.documentElement.outerHTML")
print(html)

最佳答案

您选择后需要等待ajax加载网站。尝试在选择后放置隐式或显式等待。

driver.implicitly_wait(10) # 10 秒

或者如果您知道所需网络元素的标签/ID 等,请尝试显式

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

element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "some_ID"))

关于Python Selenium Webdriver 在更改 AJAX 页面中的下拉值后不会刷新 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59586227/

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