当前位置: 首页 > 面试题库 >

警报处理+ Java +网络驱动程序

西门振
2023-03-14
问题内容

我正在尝试使用switch来发出警报并执行操作,但是我遇到了错误。

现在真正的问题是当我将下面的代码放入try中时,catch可以正常工作。我的意思是它可以完美地处理警报。但是当我不经尝试使用相同代码时,捕获代码将引发以下异常

  Alert alert = driver.switchTo().alert();
            String AlertText = alert.getText();
System.out.println(javascriptconfirm.getText());
            alert.accept();

请在下面找到错误

No alert is present (WARNING: The server did not provide any stacktrace information)

问题答案:

这个想法是当您处理警报时,您必须先检查警报是否存在。我会使用这种方法:

public boolean isAlertPresent() {

  boolean presentFlag = false;

  try {

   // Check the presence of alert
   Alert alert = driver.switchTo().alert();
   // Alert present; set the flag
   presentFlag = true;
   // if present consume the alert
   alert.accept();

  } catch (NoAlertPresentException ex) {
   // Alert not present
   ex.printStackTrace();
  }

  return presentFlag;

 }

在这里您可以获得详细信息,也不要忘记逐步调试以了解出现/不出现警报的步骤。希望这对您有所帮助。



 类似资料:
  • 当我完成自动化后,Chrome Web驱动程序仍在后台运行,是否可以自动关闭它,而无需通过任务管理器执行?

  • 我正在使用Selenium WebDriver和Java实现网站的自动化,但我陷入了这样一种情况:点击一个按钮,就会打开一个新的网页对话框,在该网页对话框中,我会执行输入值/从下拉列表中选择等操作。 问题是我无法切换到该网页对话框,甚至F12窗口不能在该网页对话框上工作。这个网站只在IE上工作。请帮帮我。 屏幕截图:在此处输入图像描述

  • 查询从something_data中选择username作为col6、性别作为col1、last_name作为col2、email作为col3、first_name作为col4、something_uuid作为col5、group_email作为col7、deleted作为col8、puars作为col9,其中username=?;在/xx.yy.91.205:9042上未准备,请在重试执行之前准

  • 我必须编写一个selenium自动化测试脚本,在这个脚本中,测试必须创建一个模板来填充表单中的Generalize数据,并手动输入特定的细节(尝试在这里等待,直到手动输入完成),然后单击SAVE按钮。但是,如果某些必填字段被保留,系统将显示JavaScript的验证警报。我使用alert alert=driver处理此警报。切换到()。警惕();警觉的接受();在这之后,我想回到主页,等待几分钟写

  • 我正试图在eclipse中运行我的第一个webdriver脚本。使用jre1。8.0_1111. 我使用了下面的代码,但它显示了错误。请帮我查一下密码。 错误堆栈 线程“main”java中出现异常。lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver设置。壁虎。驱动系统属性;有关更多信息,请参阅github。com/mozilla/geckodr

  • 我的目标是使用硒为Python自动在线账单支付。 使用以下代码使用 Web 驱动程序登录成功: 登录后,一个新的页面加载,我的下一步是点击一个链接。代码: 什么也没发生。没有导航到该法案 但仍然没有。我还应该尝试其他什么? 错误: Traceback(最近调用的最后一次):File"/home/队长/. PyCharmEdu30/config/划痕/scratch_1.py",第12行,在clic