1.xptah可以通过元素的id、name、class这些属性定位
driver.find_element_by_xpath("//input[@id=’kw1’]")
driver.find_element_by_xpath("//*[@name=’wd’]")
driver.find_element_by_xpath("//*[@class=’s_ipt’]")
2.如果一个元素id、name、class属性都没有,这时候也可以通过其它属性定位到
driver.find_element_by_xpath("//*[@autocomplete=’off’]")
driver.find_element_by_xpath("//input[@type=’text’]")
3.逻辑运算
4.xpath索引
driver.find_element_by_xpath("//div[@id=‘sidebar‘]/ul/li[3]/a").click()
driver.find_element_by_xpath("//div[@id=‘sidebar‘]/ul/li[3]/ul[1]/li[2]").click()
CSS
1.css:属性定位
如下是百度输入框的的html代码:
<input id="kw" class="s_ipt" type="text" autocomplete="off" maxlength="100" name="wd"/>
css用#号表示id属性,如:#kw
css用.表示class属性,如:.s_ipt
css直接用标签名称,无任何标示符,如:input
2.css:其它属性
css除了可以通过标签、class、id这三个常规属性定位外,也可以通过其它属性定位
以下是定位其它属性的格式
总结:xpath更强大,为地理位置local,但是速度慢
css更简洁,处理速度快,但有些功能定位有限