当前位置: 首页 > 知识库问答 >
问题:

如何用selenium web驱动程序避免在后台等待请求?

利博远
2023-03-14

我刚开始使用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?

有人有同样的问题吗?

共有1个答案

上官凯泽
2023-03-14

您可以尝试将等待时间和页加载时间隐式设置为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秒,直到它结束。 你会建议我做什么来防止系统这次等待。 测试: 等待司机。