TA的每日心情 | 开心 2015-3-16 21:26 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]测试小兵
|
你的定位没有啥问题,你出现的问题有可能是 1.等待时间问题,可以建议你用webdriver的显示等待, 参考http://www.webdriver.org/article-28-1.html 里面的方法一吧。 2. 当然也可以用隐式等待, 代码:
WebDriver dr = new FirefoxDriver();
//webdriver的隐式等待,通过设置隐式等待将每次寻找元素的等待时间设置为5秒,如果5秒之内找不到则抛出element not found异常
dr.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
dr.get("http://www.baidu.com");
3. 还有可能出现了frame, 这是百度首页诡异的问题,用webdriver打开有时候(情况比较少)会出现frame, 那这个时候你就需要切换到frame里面去了。代码:
dr.get("http://www.baidu.com");
WebDriverWait wait = new WebDriverWait(dr, 5);
try{
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//iframe")));
dr.switchTo().frame(dr.findElement(By.xpath("//iframe")));
}
catch (Exception e){
e.printStackTrace();
}
这样管frame有没有出现都ok了.
百度首页的frame截图
C:\Users\Alex\Documents\webdriver_org\New folder\1.png
|
|