当前位置: 代码迷 >> Eclipse >> selenium web driver 用java编程,登陆新浪微博,密码框不能输入,该怎么解决
  详细解决方案

selenium web driver 用java编程,登陆新浪微博,密码框不能输入,该怎么解决

热度:79   发布时间:2016-04-23 13:47:08.0
selenium web driver 用java编程,登陆新浪微博,密码框不能输入
在练习使用selenium web driver,java编程,selenium-server-standalone-2.19.0.jar导的入这个jar包,编写登陆百度,人人的程序都没有问题,但是登陆新浪微博有问题,密码元素可以获取到,但是elemeng.sendkey(),却填写不进东西去。查看sina微博的源码,发现其密码的html代码跟别的网站不一样,达人们帮忙看下,谢谢啦……

[code=Java][/code]

import java.util.Set;
import org.openqa.selenium.By;
import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;
public class loginsina {
public static void main(String[] args)
{
WebDriver driver =new ChromeDriver();
driver.get("http://weibo.com");
WebElement element = driver.findElement(By.id("loginname"));
element.sendKeys("username@sina.com");
element=driver.findElement(By.id("password_text"));
element.sendKeys("password");
element = driver.findElement(By.cssSelector("label"));
element.click();
element = driver.findElement(By.id("login_submit_but"));
element.click();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
element = driver.findElement(By.cssSelector("textarea[title=\"微博输入框\"]"));
element.sendKeys("通过selenium web driver发布……");
element = driver.findElement(By.cssSelector("a.disable"));
element.click();

}

}


------解决方案--------------------
selenium用于自动化测试,很多网站的html编写方法都不一样,web driver定位不到元素也是有可能的,不过一般用xpath就够了。
  相关解决方案