一、Selenium的Java编程基本语法
在Selenium的基本语法中首先是需要定位到页面元素的,Selenium通过找寻到界面元素然后触发相应的时间,通过页面元素变化判断是否执行了相应的操作。
可以通过页面元素的属性获取相应的页面元素。
1.通过Identifier(id)定位元素
所给出的定位的HTML元素必须要有identifier,如果没有会报告未找到相应元素的错误。通过ID来标识可以确定性。
WebElement ele = By.id("idName");
只有当你明确知道元素的id属性,才能使用。
2.通过Name定位元素
使用id定位元素固然方面,但是id并不是html元素必须的,我们可以使用Name定位元素位置。
使用Name定位元素的位置,会匹配第一个与Name匹配的元素。如果页面中有多个相同的Name,可以使用更多的筛选器进行元素筛选的细化。
WebElement ele = By.Name("name");
只有明确知道原属的那么,才能使用。
3.通过Xpath定位元素
在一些情况下无法得知页面元素的id和name,还可以使用xpath从已知节点开始定位相应的元素。
路径进行定位 xpath=/html/body/form[1]
通过元素的相应属性定位例如xpath=//form[@id='loginForm'] 表示从根节点开始查找一个form元素她包含一个属性是id并且里面的值为loginForm
找到某一个元素下相应的子元素 xpath=//form[input/@name='username'] 找到Form表单下面的input元素并且该元素有一个属性name且该name的值是username。
找到第一个指定的元素 xpath=//input[@name='username'] 扎到第一个input元素里面有一个name属性并且该属性值为username
还可以使用更加细分的查找 xpath = //input[@name='continue'][@type='button'] 找到input标签,1.该标签有一个name=continue属性和type=button属性的元素。
4.通过连接定位元素
WebElement ele = By.LinkText("xxxx");
当知晓相应的链接类容可以定位到相应的元素。
5.通过DOM元素定位元素
DOM元素是HTML的基本元素,而且只有dom定位可以直接通过document
dom=document.getElementById('loginForm')
dom=document.forms['loginForm']
dom=document.forms[0]
document.forms[0].username
document.forms[0].elements['username']
document.forms[0].elements[0]
document.forms[0].elements[3]
6.通过tagName,通过标签名称进行定位
List<WebElement> eles = By.TagName("tagname");
在一个页面中相同的tag标签太多了,如果仅适用单个tagname查询会找到一个列表。