如何使用Selenium从JavaScript窗口获取文本?

时间:2018-09-28 02:37:02

标签: javascript selenium

我有一个应用程序,单击链接即可打开一个没有URL的JavaScript窗口。单击链接后,我想在此窗口中编写文本。

  • 我尝试使用autoITx4java失败了。
  • 我尝试使用窗口句柄和警报,但没有任何帮助。

2 个答案:

答案 0 :(得分:1)

根据您的问题,如果它是Java脚本警报,则可以使用Alert功能。

public static String getTextFromAlert(WebDriver driver){
    try {
        Alert alert = driver.switchTo().alert();
        return alert.getText();
    }
    catch (NoAlertPresentException Ex) {
        // your custom code or assert condition for alert not present.
    }
    return null;
}

Alert有更多方法可以处理Web窗口中的警报。 alert.accept();接受警报,而alert.dismiss();取消警报。

答案 1 :(得分:0)

请参考以下代码来处理基于JavaScript的弹出窗口:

    Alert alert = driver.switchTo().alert();        

    // Capturing alert message.    
    String alertMessage= driver.switchTo().alert().getText();       

    // Displaying alert message     
    System.out.println(alertMessage);   
    Thread.sleep(5000);

    // Accepting alert      
    alert.accept();