我需要使用 Selenium 命令点击警告窗口中的“确定”按钮。我尝试使用 assertAlert
或 verifyAlert
,但它们不能实现我想要的功能。
是否有可能点击“确定”按钮?如果可以,请有人提供一个 Selenium IDE 命令的示例吗?
我需要使用 Selenium 命令点击警告窗口中的“确定”按钮。我尝试使用 assertAlert
或 verifyAlert
,但它们不能实现我想要的功能。
是否有可能点击“确定”按钮?如果可以,请有人提供一个 Selenium IDE 命令的示例吗?
对于Selenium来说,警报是使用JavaScript引发的警报,例如:
javascript:alert();
有一个基本的检查可以验证您的警报是否实际上是JavaScript警报还是仅用于显示某些消息的基于div的框。如果它是JavaScript警报,则在运行selenium脚本时无法在屏幕上看到它。
如果您能够看到它,则需要获取警报的确定按钮的定位器,并使用selenium.click(locator)来关闭警报。如果您可以提供更多上下文,我们可以更好地帮助您:
Vamyip
while True:
try:
driver.find_element_by_xpath('//div[@class="sweet-alert showSweetAlert visible"]')
break
except:
wait = WebDriverWait(driver, 1000)
confirm_button = driver.find_element_by_xpath('//button[@class="confirm"]')
confirm_button.click()
assertAlert 应该可以解决问题。我在文档中看到,在页面的 OnLoad 事件处理程序中生成的警报无法以这种方式进行脚本化(由于 ASP.NET 页面生命周期的限制,我自己也遇到过这种情况)。这可能是你遇到的问题吗?
新的Selenium IDE(2019年发布)具有更广泛的API和新的文档。
我相信这是您想尝试的命令:
webdriver choose ok on visible confirmation
在以下位置进行了描述:
还有其他与警报相关的API调用;只需在该页面上搜索alert