我在使用.net。
的Selenium Chrome驱动程序自动化中要求两项要求wait.Until(ExpectedConditions.UrlToBe("https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2&emr=1&osid=1#identifier"))
但是我不想提供确切的URL,而是我想提供基本URL,因为大多数URL是使用一些ID动态生成的。所以在我的情况下,我希望匹配https://accounts.google.com,
我的完整要求如下,
用户首次在自动窗口中手动输入用户名,出生日期。现在我的要求是当用户下次打开我的应用程序时,我想使用代码输入名称和D.O.B.
以前我使用的是Internet Explorer,并且我在之前有一个事件,它会告诉我用户正在导航到其他网址。所以我以前读取了必填字段并将其保存在我的数据库中。
如何在Selenium或Chrome驱动程序中执行此操作?
WebElement.getAttribute('value')可以用来获取值,但是如何知道用户已经输入了该字段的值?
我怎样才能实现这两个目标? 请帮我。
答案 0 :(得分:1)
案例1 :您无法覆盖UrlToBe
的{{1}}方法,它是org.openqa.selenium.support.ui.ExpectedConditions.java
方法。记录here。
但你可以尝试做的是创建一个类似的类和自定义方法,类似于static
CustomExpectedConditions.java
案例2 :如果您想要跟踪网址预操作,请考虑要点击的操作(),清除()等//you provide the base Url here
public boolean UrlContains(String subsetUrl) {
private String currentUrl = driver.getCurrentUrl();
return currentUrl != null && currentUrl.contains(subsetUrl);
}
从列表here。您可以在WebElement
类中覆盖这些方法,扩展CustomWebDriver
并实现WebDriver
接口,例如:
WebElement