我刚开始使用Selenium Web驱动程序测试一个网上银行交易应用程序。
我喜欢,但有些事让我很恼火。假设我使用以下代码访问登录屏幕:
driver.get("https://webdev.myurl:18113/");
WebElement element = driver.findElement(By.name("username"));
element.sendKeys("xxxx");
element.submit();
我也试过:
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 web驱动程序是否调用此站点:ipinvite.iperpections.com?
有人有同样的问题吗?
您可以尝试将等待时间和页加载时间隐式设置为0。谷歌“Selenium隐式等待时间”和“Selenium页面加载时间”。
问题内容: 我试图单击此页面上的元素: 在这一点上,我想单击“现金流量”,“资产负债表”或“季度”。我知道这些按钮已加载,因为我可以使用BeautifulSoup从页面源中提取它们。但是,当我尝试使用Selenium时: 全部返回“无法定位元素”,除了“季度”返回一个元素,但它位于图上方的一个元素而不是我感兴趣的表格上方的一个元素。 我认为这是由于位于错误的iframe中,而我找到了所有ifram
我使用这个来配置我的改装: 而方法将头添加到请求: 方法为: 在主线程上有一个来获取异步方法的响应,我知道这是一个不好的做法,但我需要这个方法来等待响应从其中获取令牌,然后返回令牌。我如何在一个单独的线程中这样做,以避免在主线程上等待? 注: 1-在任何带有改装的请求之前调用此命令。 2-我读了这篇文章,我知道我可以在请求失败后刷新令牌,但出于业务原因,我希望避免出现无效令牌。 3-我在我的中调用
问题内容: 我遇到的问题是,有时我启动的线程在调用它之前就完成了。看来这使我的程序等待不再发生的事情()。如何确保不等待线程完成? 问题答案: 如果您阅读JavaDocs for Thread,它将告诉您 永远不要在Thread对象上使用。您应该使用join()
操作:如果我点击任何一个链接,当页面加载完成时,进度条就会显示出来,然后这个进度条就会被隐藏 疑惑:我们想要自动化以上动作,我如何检查进度动作是否完成 下面是html代码 单击链接后,html看起来如下所示 则页面加载完成的html如下所示 那么如何检查进度条是否完成呢?目前我使用的是thread.sleep(),但有时web驱动程序会引发异常 请提供一个如何处理显式wait的建议
正在研究尝试理解显式等待的方法。 所以单选按钮被点击后,输入形式发生了变化,所以我把给它一个时间元素出现,否则会出错“元素不可见......”。所以我认为现在是理解显式等待的好时机,因为我需要等到元素出现。 但出现错误“Selenium::WebDriver::error::ElementNotVisibleError:Element当前不可见,因此可能无法与之交互”。为什么这段代码不等到元素出现
我需要关于在某个测试用例中等待元素的帮助。在其中一个测试中,我检查了拨号器上电话号码的准确性。在我按下应用程序中的按钮后,拨号程序将打开。问题是,要从拨号器返回应用程序,我必须按几次返回键,但次数可能因设备而异。 所以我所做的就是检查我现在在哪里。请看下面的代码。问题是,如果找不到元素,则 函数开始运行,然后我必须等待10秒,直到它结束。 你会建议我做什么来防止系统这次等待。 测试: 等待司机。