selenium webdriver - 检测javascript对话

时间:2014-04-09 08:43:41

标签: java selenium-webdriver detection dialog

请使用凭据

验证我的代码以获取以下网址

网址:http://ec2-54-226-18-214.compute-1.amazonaws.com/w/user.html?action=login

用户名:root

密码:12345678

代码:

d1.switchTo().window("modalbox");

WebElement select = d1.findElement(By.id("getSelectedCountry"));
List<WebElement> options = select.findElements(By.tagName("Qatar"));

for (WebElement option : options) {
    if("Qatar".equals(option.getText().trim()))
    option.click();   
}

2 个答案:

答案 0 :(得分:0)

您正试图通过&#34;值&#34;来搜索元素。并使用&#34; By&#34;作为tagName。请使用&#34;选项&#34;代替。请检查您的代码如下:

    d1.switchTo().window("modalbox");
    WebElement select = d1.findElement(By.id("getSelectedCountry"));
    List<WebElement> options = select.findElements(By.tagName("option"));

    for (WebElement option : options) {

    if("Qatar".equals(option.getAttribute("value")))

    option.click();   
    }

答案 1 :(得分:0)

这可以提供帮助,

WebElement attribute = driver.findElement(By.id("getSelectedCountry");
attribute.sendKeys("Qatar");

同时添加“等待”选择国家/地区可能有所帮助,因为加载时间