gpt4 book ai didi

python - webdriver 在 python 中等待 ajax 请求

转载 作者:太空狗 更新时间:2023-10-29 18:25:38 25 4
gpt4 key购买 nike

目前我正在编写用于搜索的 webdriver 测试,它使用 ajax 提供建议。如果我在输入搜索内容后和按回车键前添加显式等待,测试效果很好。

wd.find_element_by_xpath("//div[@class='searchbox']/input").send_keys("obama")
time.sleep(2)
wd.find_element_by_xpath("//div[@class='searchbox']/input").send_keys(Keys.RETURN)

但是

wd.find_element_by_xpath("//div[@class='searchbox']/input").send_keys("obama")
wd.find_element_by_xpath("//div[@class='searchbox']/input").send_keys(Keys.RETURN)

失败。我正在使用 1 个虚拟 CPU 在 ec2 上运行测试。我怀疑,我什至在发送与搜索相关的 GET 请求之前就按了回车键,如果我在建议之前按回车键,它会失败。

有没有更好的方法来添加显式等待?

最佳答案

添加此方法,确保 API 响应从服务器返回

def wait_for_ajax(driver):
wait = WebDriverWait(driver, 15)
try:
wait.until(lambda driver: driver.execute_script('return jQuery.active') == 0)
wait.until(lambda driver: driver.execute_script('return document.readyState') == 'complete')
except Exception as e:
pass

关于python - webdriver 在 python 中等待 ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24053671/

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