Selenium学习笔记2--定位元素

来源:互联网 发布:wkwebview js调用原生 编辑:程序博客网 时间:2024/06/18 16:28

查找条件对象By

需要对特定页面元素进行操作时,必须先获取到元素对象, 根据HTML的不同条件进行定位.

Id(idToFind)

<input autocomplete="off" maxlength="255" value="" class="s_ipt" name="wd" id="kw">

这个是百度的搜索框, 可以通过ID来定位.

navigate.to("http://www.baidu.com");WebElement baiduTextBox = driver.findElement(By.id("kw"));baiduTextBox.sendKeys("易筋洗髓经");

Name(nameToFind)

<a href="https://passport.baidu.com/v2/?login&amp;tpl=mn&amp;u=http%3A%2F%2Fwww.baidu.com%2F" name="tj_login" class="lb" onclick="return false;">登录</a>

通过标签属性name定位

WebElement findElement = driver.findElement(By.name("tj_login"));

LinkText(linkTextToFind)

LinkText方法按连接的文本进行查找. 比如百度首页的”登录”超级链接.

<a onclick="return false;" class="lb" name="tj_login" href="https://passport.baidu.com/v2/?login&amp;tpl=mn&amp;u=http%3A%2F%2Fwww.baidu.com%2F">登录</a>

通过标签值来定位

WebElement loginBtn = driver.findElement(By.linkText("登录"));loginBtn.click();

PartialLinkText(partialLinkTextToFind)

链接文本进行模糊查找, 比如下面代码:

 //百度首页设置链接WebElement settingBtn = driver.findElement(By.partialLinkText("设")); 

ClassName

 //百度首页设置链接WebElement settingBtn = driver.findElement(By.ClassName("j_global_search")); 

TagName

TagName方法按标签名称进行查找, 并返回第一个匹配项.

 //百度首页设置链接WebElement settingBtn = driver.findElement(By.tagName("a")); 

XPath

如果以上方法都无法定位, 可以按XPath来进行查找.

//百度搜索框<input autocomplete="off" maxlength="255" value="" class="s_ipt" name="wd" id="kw">
WebElement baiduTextBox = driver.findElement(By.xpath("//input[@id='kw']"));baiduTextBox.sendKeys("八荒六合唯我独尊功");
0 0