from selenium import webdriver
- self.driver.find_element_by_id(“id”)
- self.driver.find_element_by_class_name(“class”)
- self.driver.find_element_by_xpath(xpath)
- self.driver.find_element_by_name(“name”)
self.driver 代指浏览器 driver
以上只用在 id class name 位置填入你选择标签的对应属性名字,但名字必须是唯一的,否则,可能达不到理想效果,那就要用3?self.driver.find_element_by_xpath(xpath)?,其中xpath用法如下
- 如果路径之中无重复头名标签 //div 能直接定位到唯一的div 标签,之后 / 代表子标签,//代表孙标签
- 如果有重复头标签(一般都会有重复),那么找到该标签内某个独一属性(全网页无同名),例如 标签为:<div class=”abcde”> ,xpath = ‘//div[@class=”abcd”]’,注意最好在最外部用单引号,一般属性名字都会用双引号引用,防止冲突
- 也可以用类似数组的形式引用标签,如:标签<div class=”abcde”>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<i class=”1234”> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<i class=”1234”> xpath = ‘//div[@class=”abcde”]/i[1]’?就是指div标签下第一个子标签,[2]就是第二个子标签 - 如果只有文本不同 ????????????????????<div class=”abcde”>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<i class=”1234”>456 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?<i class=”1234”>789 xpath = ‘//div[@class =“abcde”]/i[contains(text(),”456”)]’,就代表i[1]
|