识别IE11 32位C#

时间:2018-12-28 03:43:59

标签: c# selenium-webdriver popup internet-explorer-11 ui-automation

我无法确定要处理的弹出窗口。这是我尝试过的:

            string dialog4;
            string dialog5;
            try
            {
                IAlert alert = driver.SwitchTo().Alert();
                dialog4 = alert.Text;
                alert.Accept();
                dialog5 = "nothing alert";
            }
            catch (NoAlertPresentException f)
            {
                try
                {
                    dialog4 = driver.SwitchTo().Frame(0).Title;// "dialog4";//
                    dialog5 = driver.SwitchTo().Frame(1).Title;// "dialog5";// 
                }
                catch (NoSuchFrameException e)
                {
                    try
                    {
                        dialog4 = driver.SwitchTo().Window("iHTKK").Title;
                        dialog5 = "nothing window";
                    }
                    catch
                    {
                        dialog4 = "nothing 4";
                        dialog5 = "nothing 5";
                    }
                }
            }
  • 单击红色突出显示的按钮以确保弹出窗口有时间被捕获后,代码等待10秒钟,Web驱动器等待30秒钟。
  • 代码返回“ nothing 4”和“ nothing 5”。
  • xPath在该项目中不能很好地工作,我不知道为什么,但是我之前尝试过使用其他元素,但是xPath无法工作。
  • 除非响应此弹出窗口,否则我无法打开F12。我可以在此弹出式窗口存在之前和之后打开它。
  • 我也试图找到 在网站(所有HTML和.js文件)中,使用“调试器”和“ Dom资源管理器”选项卡中“开发人员工具”(F12)中的搜索功能,在弹出框中获取信息。 没有发现。这不是我的网站。
  • 我在屏幕截图中附加了Window间谍(AutoHotkey附带的实用程序可帮助您识别Windows)。弹出窗口是由进程调用“ jp2lancher.exe”创建的。如果担心的话,我的Java版本是8.x 32位。虽然弹出窗口似乎是来自不同的过程,但是直到响应该弹出窗口后,我才能与IE进行交互。但是,我可以通过任务栏中的“关闭所有窗口”操作将其关闭,弹出窗口仍然存在。

我还可以做什么来识别此弹出窗口?Pop-up screen shot

1 个答案:

答案 0 :(得分:0)

经过测试,可以确认Window Spy工具是识别浏览器/驱动程序是否生成弹出窗口的好方法。在ahk_exe行中,它将说一个窗口由哪个可执行文件运行。就我而言,弹出窗口确实是一个Java插件,可以从网站上加载并在我的计算机上运行。我终于使用AutoIt处理该窗口。如果有人使用AutoIt,请记住这是一种不同的语言,所有操作都必须以其格式启动。