以百度的搜索框为例,前段代码如下
<input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
1、id定位
driver.find_element_by_id(‘kw’);
2、name定位:
driver.find_element_by_name(‘wd’);
3、class定位
driver.find_element_by_class(’s_ipt’);
4、css selector定位
a、id css选择器css写法, 如果id=value , 那么css写法: #value
driver.find_element_by_selector(‘#kw’);
b、class css选择器css写法,如果class=value , 那么css写法: .value
driver.find_element_by_selector(‘.s_ipt’);
c、也可以使用标签来定位,如input
driver.find_element_by_selector(‘input[name=“wd”]’);
driver.find_element_by_selector(‘input[id=“kw”]’);
driver.find_element_by_selector(‘input[class=“s_ipt”]’);
注意:如果定位的值使用双引号那么定位外面的需要用单引号,否则相反
5、xpath定位,用于元素节点没有id name class等属性时,使用xpath定位很好用
driver.find_element_by_xpath(‘//input[@autocomplete=“off”]’);
6、tag_name定位一般不常用,因为元素太多很容易重复不容易定位。