Selenium----8大元素定位

一、常用的元素定位方式有哪些?
**本次内容以 https://www.baidu.com/ 为例,代码均已跑通
操作简单页面:
1. id(推荐)
如果某个元素有id属性,如果id属性是唯一的,可以用这个属性的值进行定位,如果id属性的值是一串无序的字母或数字,则不能使用,有可能是动态id,代码如下:

driver.find_element(By.ID,"kw")

2. name(推荐)
根据那么属性的值来定位,但是如果name属性的值在当前页面不唯一,则是无法定位的,代码如下:
           
driver.find_element(by=By.NAME, value="kk")

3. class name
该属性的值,不唯一的可能性很大,代码如下:
            
driver = find_element(by=By.CLASS_NAME, value="jj")

4. tag name(通过标签名本身选择,一般无法使用,不推荐),如input标签,登录功能中,账号和密码都有,不唯一。其代码如下:
            
driver = find_element(by=By.TAG_NAME, value="ll")

5. link text(通过文本来定位,就是根据搜索关键词去定位,一般不要使用)
           
driver = find_element(by=By.LINK_TEXT, value="八字排盘")

6. partical link text(一般不要使用)
 driver = find_element(by=By.PARTIAL_LINK_TEXT, value="搜索")

操作复杂页面:

7. xpath(和CSS类似,可以直接复制一个元素相关的信息,id,class,tag等)如:
          
          /  : 代表的直接子节点
          // : 后代节点
        
 表达方式1:  
/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input
表达方式2:                 
 //*[@id="kw"]
        

8. css selector
  8.1 [tag标签+name值]:        
driver.find_element(by=By.CSS_SELECTOR,value='input[name="wd"]').send_keys("兰花科创")
  8.2 [class唯一的话]:class属性前面要加点       
driver.find_element(by=By.CSS_SELECTOR,value='.s_ipt').send_keys("兰花科创")


全部评论

相关推荐

华讯网络 算法岗 工资大概 13k 乘 15
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务