我刚开始使用 Selenium Web Driver 来测试一个网上银行交易应用程序。
我喜欢它,但有些东西让我烦恼。假设我使用以下代码访问登录屏幕:
driver.get("https://webdev.myurl:18113/");
WebElement element = driver.findElement(By.name("username"));
element.sendKeys("xxxx");
element.submit();
浏览器启动,页面加载和显示。但看起来页面尝试从外部站点加载元素,而 findElement(第 2 行)等待这些请求完成!
有没有办法绕过这种行为?
我也试过这个:
WebElement element = (new WebDriverWait(driver, 10)).until(new ExpectedCondition<WebElement>() {
@Override
public WebElement apply(WebDriver d) {
return d.findElement(By.name("username"));
}
});
但这无济于事,因为这一行似乎仅在页面完全加载时才执行。
编辑:我和这里的一个人谈过。他告诉我ipinvite.iperceptions.com 不是我们的应用程序调用的。!!!事实上,当我在 FF 中加载网站时,我没有看到这个调用?!
Selenium 网络驱动程序是否调用此站点:ipinvite.iperceptions.com?
有人有同样的问题吗?