在引入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页面上。