我有一个要求两个要求在 selenium chrome 驱动程序自动化使用. net。
1.正在等待特定的基本URL加载。为此,我得到了下面的代码,如果我给出了确切的URL,它将完美地工作。
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,
1.我想得到一个事件之前,网址是要改变(当用户点击一些按钮,例如下一步)。或者我想得到通知时,用户已输入的用户名或网页中的一些条目。
我的全部要求如下,
第一次用户将输入用户名,出生日期手动在自动窗口。现在我的要求是当用户打开我的应用程序,下次我想输入姓名和出生日期使用代码。
以前我使用的是Internet Explorer,我有beforavigate事件,这将通知我,用户将导航到其他URL。所以我用来读取必填字段,并将其保存在我的数据库中。
如何在Selenium或Chrome驱动程序中做到这一点?
webElement.getAttribute('value ')可用于获取值,但如何知道用户已将值输入到该字段?
我怎样才能做到这两点?请帮助我。
2条答案
按热度按时间jchrr9hc1#
案例1:你不可能从
org.openqa.selenium.support.ui.ExpectedConditions.java
覆盖UrlToBe
方法,它是一个static
方法。但是,您可以尝试创建类似的类和定制方法,例如
CustomExpectedConditions.java
案例2:如果你想跟踪url的预操作,考虑在
WebElement
上的click(),clear()等操作,你可以在CustomWebDriver
类中覆盖这些方法,扩展WebDriver
并实现WebElement
接口,类似于:i86rm4rw2#
自从Selenium 2.46.0中的Jun 04, 2015以来,我相信我们已经有了urlMatches(),它接受一个regex字符串,可以是一个部分。这至少回答了名称中的问题,也是我为什么来到这里的原因。我使用urlMatches来等待,直到URL变成一个特定的路径,而不是我自己的解决方案。