【发布时间】:2018-10-14 13:43:09
【问题描述】:
我正在使用 geckodriver 在 Python ide 中运行 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&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...
【问题讨论】:
-
很明显,您必须了解网站如何处理 30 秒延迟并找出如何影响它。它不会发生在你的代码中......
标签: python python-3.x selenium selenium-webdriver webdriverwait