首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium代码会因为弹出警报而停止

Selenium代码会因为弹出警报而停止
EN

Stack Overflow用户
提问于 2018-04-05 19:40:51
回答 2查看 2.4K关注 0票数 1

嘿stackoverflow社区

我有个问题。我必须使用Selenium测试一个网站,但在加载该网站之前,会出现一个警告框。我的代码在webdriver获取url的地方停止。

代码语言:javascript
复制
public static void GoTo(string url){
    webDriver.Url = baseUrl + url;
}

代码在webDriver.Url = baseUrl + url;中停止并等待alertbox中的输入。我不能使用SendKeys()函数,因为代码停在那里等待。

我如何解决这个问题?

尼古拉斯问候

EN

回答 2

Stack Overflow用户

发布于 2018-04-05 19:58:18

我假设警报是由JS生成的。在Selenium中,您可以使用Actions类处理JS生成的警报。

您需要做的是,将webDriver的焦点切换到生成的警报。

代码语言:javascript
复制
Alert alert = driver.switchTo().alert();
alert.dismiss();   // clicking on cancel.
alert.accept();    // click on yes.
alert.getText();   // Text to the prompt.
alert.sendKeys(charSequence args0); //sending something to that prompt.

如果您在处理警报后处于同一页面,则不需要切换到defaultContent,即使这样做也没有问题。为此,您必须使用:

代码语言:javascript
复制
driver.switchTo().defaultContent();

如果您对Actions类有更多的担忧,请让我知道。

如果它是基于窗口的弹出窗口,你需要使用第三方工具,如AutoIT。Vel Guru已经为您提供了该解决方案。

票数 0
EN

Stack Overflow用户

发布于 2018-04-05 19:59:53

它的Windows身份验证弹出窗口让您可以在URL中提供凭据,这意味着我们将在URL中添加用户名和密码,以便在运行脚本时绕过相同的用户名和密码。

示例

代码语言:javascript
复制
http://username:password@url

使用AutoIT请参阅链接了解更多详细信息http://learn-automation.com/handle-windows-authentication-using-selenium-webdriver/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49671484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档