IT *_*her 2 c# vb.net selenium webautomation chrome-web-driver
我需要在Chrome浏览器中使用Selenium等待网站自动化中的特定网址.用户将在我们的网站上进行在线支付.我们的网站用户被重定向到支付网关.当用户完成付款时,网关将重定向到我们的网站.我希望得到从网关到我们网站的通知重定向.
我在网页上有一个等待"特殊ID"的例子,这里是vb.net代码
driver.Url = "http://gmail.com"
Dim wait As New WebDriverWait(driver, TimeSpan.FromSeconds(10))
wait.Until(Of IWebElement)(Function(d) d.FindElement(By.Id("next")))
Run Code Online (Sandbox Code Playgroud)
这导航到"gmail.com"并等待该页面上的"下一个"ID.相反,我想只在特定URL加载时继续代码.
我怎样才能做到这一点?
请帮我.
我不确定你使用的语言是什么,但在Java中你可以这样做:
new WebDriverWait(driver, 20).Until(ExpectedConditions.UrlToBe("my-url"));
Run Code Online (Sandbox Code Playgroud)
等到你的网址已加载.
如果由于某种原因无法使用最新的selenium版本,您可以自己实现该方法:
public static Func<IWebDriver, bool> UrlToBe(string url)
{
return (driver) => { return driver.Url.ToLowerInvariant().Equals(url.ToLowerInvariant()); };
}
Run Code Online (Sandbox Code Playgroud)
他们现在为预期条件增加了更多支持。您必须创建一个 webdriver 等待并期望 url 包含一个值
WebDriverWait wait = new WebDriverWait(yourDriver, TimeSpan.FromSeconds(5));
wait.Until(ExpectedConditions.UrlContains("/url-fragment"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9853 次 |
| 最近记录: |