gpt4 book ai didi

python - 跳过等待网站计时器 selenium Python

转载 作者:行者123 更新时间:2023-11-30 22:15:51 27 4
gpt4 key购买 nike

我正在 Python ide 中使用 geckodriver 运行 Selenium。

我尝试打开的网站有一个 30 秒的计时器,30 秒后会出现一个按钮,我单击它。

我要问的是:我可以以某种方式忽略/跳过/加快等待时间吗?

现在我正在做的事情如下:

driver = webdriver.Firefox()
driver.get("SITE_URL")
sleep(30)
driver.find_element_by_id("proceed").click()

这是非常低效的,因为每次我运行代码来做一些测试时我都需要等待。

提前致谢,阿维。

更新:我还没有找到克服障碍的方法,但在找到方法之前,我会努力关注下一个可实现的进展:

<video class="jw-video jw-reset" disableremoteplayback="" webkit-playsinline="" playsinline="" preload="metadata" src="//SITE.SITE.SITE/SITE/480/213925.mp4?token=jbavPPLqNqkQT1SEUt4crg&amp;time=1525458550" style="object-fit: fill;"></video>

(审查网站的名称)

每个页面都有一个视频,所有视频都在“jw-video jw-reset”类下我在按类使用查找元素时遇到问题,所以我使用了:

WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "video[class='jw-video jw-reset']")))

它可以工作,但我不知道如何选择元素的 src...

最佳答案

根据您的代码试用,您可以删除 time.sleep(30) 并引发 WebDriverWait 以使元素可点击,如下所示:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
# lines of code
WebDriverWait(driver, 30).until(EC.element_to_be_clickable((By.ID, "proceed"))).click()

注意:根据您的用例配置 WebDriverWait 实例的最大时间限制。一旦元素可见并且启用,expected_conditions方法element_to_be_clickable()将返回WebElement 这样您就可以点击它。

关于python - 跳过等待网站计时器 selenium Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50168663/

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