如何在Selenium Webdriver中处理窗口

时间:2015-05-18 08:15:18

标签: selenium-webdriver popup alert popupwindow window-handles

我遇到过以下情况 https://ipay.adp.com/iPay/login.jsf 单击页面中的登录按钮,我将弹出窗口,我无法处理。 任何人都可以帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

您可以使用autoit自动执行弹出窗口。

请参阅:

然后你可以使用java

调用exe文件
    //click on the login button
    Process process= Runtime.getRuntime().exec("C:\\Documents and Settings\\new.exe"); // Give  path where the exe is saved.
    process.waitFor();
    process.destroy();

答案 1 :(得分:0)

请执行以下步骤:
1.下载AutoIT工具。它可以从http://www.autoitscript.com/site/autoit/downloads/

下载

注意:请下载AutoIT Full Installation

  1. 安装AutoIT时,您将获得两个选项:运行脚本和编辑脚本。如果要在不进行任何修改的情况下使用该脚本,请选择“运行脚本”选项。如果要自定义脚本,请选择“编辑脚本”选项(建议我们始终需要根据需要自定义脚本。有时我们需要创建自己的脚本。)
  2. 打开自动安装位置
  3. 打开“Extras Folder”,然后打开“Au3Record” 对于X-86,请使用此路径C:\ Program Files(x86)\ AutoIt3 \ Extras \ Au3Record
  4. Open Recorder等待它启动
  5. 在浏览器中执行显示该窗口的步骤
  6. 现在点击Recorder上的Record按钮
  7. 通过键盘执行按键序列,您只想使用鼠标键盘
  8. 现在点击停止
  9. 保存脚本并将其保存在某个位置
  10. 右键单击脚本并选择编译(X86)
  11. 您会注意到现在创建的.exe文件通过以下代码在您的Java代码中使用此.exe

    Process process = Runtime.getRuntime()。exec(“abolute path of exe”);        process.waitFor();        process.destroy(); 或者按照下面的步骤打开记事本并粘贴下面提到的代码

    区域--- Au3Recorder生成的代码启动(v3.3.9.5 KeyboardLayout = 00000409)---

    区域---内部功能Au3Recorder Start ---

    Func _Au3RecordSetup() 选择( 'WinWaitDelay',100) 选择( 'WinDetectHiddenText',1) 选择( 'MouseCoordMode',0) 本地$ aResult = DllCall('User32.dll','int','GetKeyboardLayoutNameW','wstr','') 如果$ aResult [1]<> '00000409'然后   MsgBox(64,'警告','录制已在不同的键盘布局下完成'& @CRLF&'(00000409->'& $ aResult [1]&')') ENDIF

    ENDFUNC

    _AU3RecordSetup()

    endregion ---内部函数Au3Recorder End ---

    发送( “testUsername {TAB} Testpasword {ENTER}”)

    endregion --- Au3Recorder生成的代码结束---

  12. 将文件另存为“authenticationAD.au3”现在创建此文件的exe,就像上面步骤11-12中提到的步骤一样,请更改testUsername和密码,但不要删除{Tab} {和Enter} < / p>

    如果您仍然遇到此问题,请告诉我,我将通过自动脚本发送给您的java文件