selenium用java写的脚本找不到登录框元素,求助啊
用了基本的元素定位来定位页面的登录框,但是一直运行失败,我看了下页面的html有iframe,用了几种切换的方式还是运行失败,折腾了好久了,一直没有解决,有哪位大神能够看下要怎么写才能完成登录的操作以下是代码:(邮箱和帐号因为是自己的就打上了*)
public static void main (String[] args)
{
WebDriver driver=new FirefoxDriver();
//driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
driver.get("http://photo.163.com");
//登录前高级操作
//切换iframe方式1
//driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@src='http://blog.163.com/newpage/ursweb/tmp12/loginurs.html']")));
//driver.switchTo().frame(driver.findElement(By.id("x-URS-iframe")));
//WebElement userNameElement=driver.findElement(By.name("email"));
//切换iframe方式2
//driver.switchTo().defaultContent();
//driver.switchTo().frame(driver.findElement(By.xpath("/html/body")));
//driver.switchTo().frame(driver.findElement(By.id("x-URS-iframe")));
WebElement userNameElement=driver.findElement(By.name("email"));
userNameElement.sendKeys("*****@163.com");
//元素定位法
//WebElement pwdElement=driver.findElement(By.name("password"));
WebElement pwdElement=driver.findElement(By.xpath("//input[@name='password']"));
pwdElement.sendKeys("*****");
WebElement loginElement=driver.findElement(By.id("dologin"));
//登录后高级操作
//driver.switchTo().defaultContent();
//driver.switchTo().defaultContent();
WebElement albumElement=driver.findElement(By.className("album"));
try{
Thread.sleep(5000);
}
catch(InterruptedException e){
e.printStackTrace();
}
driver.quit();
}
同学 你把报错信息贴出来 你定位的第二个iframe的id不对吧,我抓取了元素看后面还跟着一串数字且数字每次是可变的,你不妨采用iframe索引方式定位
顶楼上 菜鸟@大虾 发表于 2017-7-28 09:49
同学 你把报错信息贴出来
好,我晚上去看下 掉渣饼 发表于 2017-7-28 09:56
你定位的第二个iframe的id不对吧,我抓取了元素看后面还跟着一串数字且数字每次是可变的,你不妨采用iframe ...
试了两个晚上,醉了。。。,这个定位是对的吗("//iframe[@src='http://blog.163.com/newpage/ursweb/tmp12/loginurs.html',模糊匹配加@,但提示找不到
页:
[1]