一直以來(lái)都用xpath去識(shí)別元素,xpath確識(shí)方便又實(shí)用,但有時(shí)會(huì)發(fā)現(xiàn)它要寫(xiě)很長(zhǎng)很長(zhǎng),對(duì)于有些元素,用css去定位,可能更加方便。
假設(shè)有如下的HTML頁(yè)面:
line 1 <html>
line 2 <body>
line 3 <form id= "loginForm" >
line 4 <input name= "username" type= "text" />
line 5 <input name= "password" type= "password" />
line 6 <input name= "continue" type= "submit" value= "Login" />
line 7 <a href= "continue.html" >Continue</a>
line 8 </form>
line 9 </body>
line 10 <html>
通過(guò)XPath定位
例如:
driver.click("xpath=/html/body/form[1]")。如果使用相對(duì)路徑,則可以省略"xpath=":
driver.click("//form[1]");
driver.click("//form[@id='loginForm']");
driver.click("//form[@id='loginForm']/input[1]");
driver.click("//input[@name=‘username’]");
通過(guò)css定位
例如:
driver.click("css=form#loginForm");
driver.click('css=input[name="username"]');
driver.click("css=#loginForm input:nth-child(2)");
怎么查看頁(yè)面元素的各個(gè)屬性呢?推薦使用Firefox的Firebug插件,可以自動(dòng)生成指定元素的xpath和css。同時(shí)配合Firefinder,可以驗(yàn)證你的xpath和css是否正確。