`
心杀心
  • 浏览: 30930 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

磕磕碰碰Selenium模拟登陆爬取数据(二)

    博客分类:
  • JAVA
 
阅读更多

 在引入jar包之后,进行程序编写。

引入IE模拟器IEDriverServer.exe,配合上篇文章版本,参考下载地址下载,采用32位模拟器,可在64位电脑运行。

 

// 打开登陆页面
     System.setProperty("webdriver.ie.driver", this.getClass().getResource("/").getPath()+"//IEDriverServer.exe");     

     //调用模拟器
     WebDriver driver = new InternetExplorerDriver();   

      //打开网址         
     driver.get("http://10.*.*.*");
     driver.manage().window().maximize();

接下来该取得登陆页面html控件。通过IE源代码读取,获取需要输入值得控件对象并赋值,点击登录

CharSequence[] csUser = new CharSequence[1];
     csUser[0] = "*****";//用户名

     //取得页面标签name=username的控件对象
     WebElement txtboxUser = driver.findElement(By.name("username"));

     //赋值
     txtboxUser.sendKeys(csUser);

    //程序休眠,是保证页面提交之前控件对象输入值,有可能进程过快导致输入值为空提交

    Thread.sleep(2000);
     //点击登录按钮
     WebElement btnLogin = driver.findElement(By.xpath("//input[@value='登陆']"));
     btnLogin.click();

运行到这,已实现页面登录,跳转到主界面。

 

进行主界面点击操作,确发现无法定位到插件,采用以下各种定位方式都获取不到

1、通过ID查找元素: By.id()
2、通过Name查找元素:By.name()
3、通过TagName查找元素: By.tagName()
4、通过ClassName 查找元素 By.className
5、通过LinkText查找元素 By.linkText();
6、通过PartialLinkText 查找元素 By.partialLinkText()
7、通过CSS选择器查找元素、
8、通过Xpath 查找元素

 

拦路虎2:页面frame出现,需要不断定位当前driver到主页面,定位到需要处理的frame页面上。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics