一尘不染

在Python中使用Selenium检查URL更改的最佳方法是什么?

selenium

所以,我要做的是在特定网页上运行一个函数(与我的正则表达式匹配)。

现在,我每秒检查一次,并且它可以正常工作,但是我敢肯定,有更好的方法(因为它使网站充斥着大量请求)。

while flag:
    time.sleep(1)
    print(driver.current_url)
    if driver.current_url == "mydesiredURL_by_Regex":
        time.sleep(1)
        myfunction()

我当时想以某种方式做到这一点,WebDriverWait但不确定如何做到。


阅读 786

收藏
2020-06-26

共1个答案

一尘不染

我当时想用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与所需的正则表达式匹配。

2020-06-26