webdriver是否有办法自动检测浏览器URL是否已更改?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webdriver是否有办法自动检测浏览器URL是否已更改?相关的知识,希望对你有一定的参考价值。

我有在selenium中构建的框架。我正在尝试添加其他功能。为此,我需要在每次url更改时执行一些代码 - 可能是因为按钮/链接单击或导航()或get()。现在我知道WebDriverEventListener,它可以帮助我覆盖get()和navigate()的行为,但我没有直接的方法来识别按钮或链接点击上的URL更改。这是否可用,通知代码网址已更改?

答案

以下是使用WebdriverWaitexpected_conditions的Python示例:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC 

url = 'https://example/before'
changed_url = 'https://example/after'

driver = webdriver.Chrome()
driver.get(url)

# wait up to 10 secs for the url to change or else `TimeOutException` is raised.
WebDriverWait(driver, 10).until(EC.url_changes(changed_url))

以上是关于webdriver是否有办法自动检测浏览器URL是否已更改?的主要内容,如果未能解决你的问题,请参考以下文章

Selenium C# Webdriver如何检测元素是不是可见

是否存在无法检测到的 Selenium WebDriver 版本?

selenium:如果用户关闭浏览器或webdriver会怎么样?如何检测浏览器是否已关闭?

如何检测用户何时浏览某个 url?

c#爬虫-selenium检测webdriver封爬虫的解决方法

selenium启动chrome检测到自动测试软件控制