IE11的org.openqa.selenium.NoSuchElementException

时间:2014-10-27 03:02:23

标签: java selenium

这里有新的硒,请你好。

我在使用Internet Explorer 11的win 7上使用selenium webdriver 2.41.0并获得以下“org.openqa.selenium.NoSuchElementException:无法找到id为== home_title的元素(警告:服务器未提供任何内容)堆栈跟踪信息)“

我正在从属性文件中读取url和iedriverpath,并且当使用有效网址启动浏览器时,该位代码正常工作。

我的其余代码是

// Launches a browser based on the value specified in the properties file
public class LaunchBrowser {

public static WebDriver driver;
private String browser;
private String url;
private String iedriverpath;

// starts up a browser session and navigates to the url specified
@Test
public void startBrowser() throws Exception {

    switch (browser) {

        case "IE":  // Set IE driver path
            File ieFile = new File (iedriverpath);
            System.setProperty("webdriver.ie.driver", ieFile.getAbsolutePath());
            DesiredCapabilities dc = DesiredCapabilities.internetExplorer();
            dc.setCapability("nativeEvents", false);
            driver = new InternetExplorerDriver(dc);
            break;

        default:
            throw new IllegalArgumentException("Invalid Browser Specified!!!");
    }

    driver.get(url);
    driver.manage().window().maximize();        
    WebElement ele = driver.findElement(By.id("home_title"));
    }
}

我试图找到的元素的HTML看起来像这样

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="33%" style="vertical-align:top;"></td>
<td width="33%" align="center">
<input id="home_title" class="home_title" type="text" readonly="true" title="Cloud Services"    value="Cloud Services" style="width: 142px;">
</td>
<td class="text-align-right" width="33%" nowrap="true" style="vertical-align:top;">
</tr>
</tbody>
</table>

任何可能导致异常的想法?它是同步问题还是使用定位器有问题?

谢谢你。

1 个答案:

答案 0 :(得分:0)

您需要切换帧。

driver.switchTo().frame("ID of frame");

然后做你的工作..然后切换回来。

driver.switchTo().defaultContent();