Internet explorer 没有来源
我正在尝试为selenium编写一个测试,以便在站点上处理订单。该站点仅与IE兼容,并且禁用鼠标右键。当我在某一点单击continue时,我会看到一个javascript弹出窗口。在此窗口中,我需要选择“是”,但我无法查看源以获取“是”按钮的“id” 有人能帮我识别按钮的ID或显示源代码吗Internet explorer 没有来源,internet-explorer,selenium,automated-tests,webdriver,Internet Explorer,Selenium,Automated Tests,Webdriver,我正在尝试为selenium编写一个测试,以便在站点上处理订单。该站点仅与IE兼容,并且禁用鼠标右键。当我在某一点单击continue时,我会看到一个javascript弹出窗口。在此窗口中,我需要选择“是”,但我无法查看源以获取“是”按钮的“id” 有人能帮我识别按钮的ID或显示源代码吗 一旦出现此窗口,就无法访问开发人员工具。如果是javascript警报,则需要执行以下操作: driver.SwitchTo().Alert().Accept(); 其中driver是您正在使用的WebDr
一旦出现此窗口,就无法访问开发人员工具。如果是javascript警报,则需要执行以下操作:
driver.SwitchTo().Alert().Accept();
其中driver是您正在使用的WebDriver
的实例
----编辑----
有3种类型的javascript弹出窗口:
您需要确保显示的是哪种类型的弹出窗口,并采取相应的行动。当您说“js窗口”时,您是指浏览器中的新窗口或类似小部件的东西吗?我得到以下信息
org.openqa.selenium.NoAlertPresentException:没有激活的警报
这可能是页面加载时出现警报的问题吗,还是在页面加载之前?@BON听起来像是您的代码在弹出窗口呈现之前触发。我的猜测是javascript弹出窗口在document.ready启动,但是selenium会在加载页面时启动,因此您可以在启动警报脚本之前查找警报。请参阅我的编辑以获取解决方案
JavascriptExecutor js = (JavascriptExecutor) driver;
if(js.executeScript("document.readyState")== "complete")
{
thread.sleep(500);
driver.SwitchTo().Alert().Accept();
}