为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用硒自动化单击警报(而不是确定/取消)上的“是”按钮?

如何使用硒自动化单击警报(而不是确定/取消)上的“是”按钮?

qq_花开花谢_0 2021-06-15 17:08:37
我正在尝试使用Selenium (java)单击警报弹出消息上的Yes/No按钮。我知道我们有 accept() 函数来单击任何警报的Ok按钮,但这在这种情况下不起作用。我尝试了以下代码:Alert alert = driver.switchTo().alert();alert.accept();这是警报消息的 HTML 代码:<div class="ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"> <div class="ui-dialog-buttonset"> <button type="button" class="ui-button ui-widget ui-state-default ui-corner-  all ui-button-text-only" role="button" aria-disabled="false">  <span class="ui-button-text">Yes</span> </button> <button type="button" class="ui-button ui-widget ui-state-default ui-corner-  all ui-button-text-only" role="button" aria-disabled="false">  <span class="ui-button-text">No</span> </button></div></div>请帮忙!
查看完整描述

3 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

您只需单击是” 按钮即可。(无需切换到警报):

代码 :

new WebDriverWait(driver,10).until(ExpectedConditions.elementToBeClickable(By.xpath("//span[text()='Yes']/parent::button"))).click();



查看完整回答
反对 回复 2021-06-30
?
撒科打诨

TA贡献1934条经验 获得超2个赞

不是Javascript alert

使用此 xpath 单击该按钮

"//span[normalize-space()='Yes']/.."


查看完整回答
反对 回复 2021-06-30
  • 3 回答
  • 0 关注
  • 108 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信