所以,我要做的是在特定网页上运行一个函数(与我的正则表达式匹配)。
现在,我每秒检查一次,并且它可以正常工作,但是我敢肯定,有更好的方法(因为它使网站充斥着大量请求)。
while flag: time.sleep(1) print(driver.current_url) if driver.current_url == "mydesiredURL_by_Regex": time.sleep(1) myfunction()
我当时想以某种方式做到这一点,WebDriverWait但不确定如何做到。
WebDriverWait
我当时想用WebDriverWait做到这一点
究竟。首先,查看内置的“预期条件”是否可以解决以下问题:
title_is
title_contains
用法示例:
from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC wait = WebDriverWait(driver, 10) wait.until(EC.title_is("title")) wait.until(EC.title_contains("part of title"))
如果不是,则可以始终创建自定义的“预期条件”,以等待url与所需的正则表达式匹配。