selenium定位css

css

  1. 提示:
    1. 在selenium中推荐使用css定位,它的定位比xpath比较快
    2. css选择器语法比较强大
  2. 定位方法:find_element_by_css_selector()
  3. 定义:css是用于在selenium中定位元素的
  4. 定位策越
    1. id选择器
      1. 表达式:#id
        1. #表示通过元素的ID属性进行元素的选择
        2. id表示id属性的属性值
    2. class选择器
      1. 表达式:.class
        1. .表示的是元素的class属性进行选择元素选择
        2. clas表示的是class属性的其中一个属性值
    3. 元素选择器
      1. 定义:通过元素标签名称来选择元素
      2. 表达式:tar_name,不推荐使用
    4. 属性选择器
      1. 就是通过元素属性进行选择元素
      2. 表达式:[attribute='value'] 
      3. 注意点:如果使用class属性,需要class全部的值
    5. 层级选择器
      1. 根据父子关系来进行选择元素
      2. 表达式:
        1. 父子关系 element1>element2 element2 是element1直接子元素
        2. 隔代关系 element1 element2 element2 是element1后代子元素
    6. 案例
      1. # 导包
        import time
        
        from selenium import webdriver
        # 加载浏览器驱动
        driver=webdriver.Chrome();
        # 打开测试网站
        driver.get("file:///D:/BaiduNetdiskDownload/UI%E8%87%AA%E5%8A%A8%E5%8C%96/web%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%E9%9B%86%E5%90%88/pagetest/%E6%B3%A8%E5%86%8CA.html")
        # 等待3s
        time.sleep(3)
        # 输入用户名 lisisi id选择器
        driver.find_element_by_css_selector("#userA").send_keys("lisisi")
        # 输入用户名 lisisi class选择器
        driver.find_element_by_css_selector(".emailA").send_keys("lisisi@qq.com")
        time.sleep(3)
        # 关闭浏览器驱动
        driver.quit()

        2.

        # 导包
        import time
        
        from selenium import webdriver
        # 加载浏览器驱动
        driver=webdriver.Chrome();
        # 打开测试网站
        driver.get("file:///D:/BaiduNetdiskDownload/UI%E8%87%AA%E5%8A%A8%E5%8C%96/web%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%E9%9B%86%E5%90%88/pagetest/%E6%B3%A8%E5%86%8CA.html")
        # 等待3s
        time.sleep(3)
        # 输入用户名 lisisi 元素选择器
        driver.find_element_by_css_selector("input").send_keys("lisisi")
        # 输入电子邮箱 lisisi 属性选择器
        driver.find_element_by_css_selector("[class='emailA dzyxA']").send_keys("lisisi@qq.com")
        time.sleep(3)
        # 关闭浏览器驱动
        driver.quit()

        3.

        # 导包 层级选择器
        import time
        
        from selenium import webdriver
        # 加载浏览器驱动
        driver=webdriver.Chrome();
        # 打开测试网站
        driver.get("file:///D:/BaiduNetdiskDownload/UI%E8%87%AA%E5%8A%A8%E5%8C%96/web%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%E9%9B%86%E5%90%88/pagetest/%E6%B3%A8%E5%86%8CA.html")
        # 等待3s
        time.sleep(3)
        # 输入用户名 lisisi 层级选择器
        driver.find_element_by_css_selector("#pa>#userA").send_keys("lisisi")
        time.sleep(3)
        # 关闭浏览器驱动
        driver.quit()

        4.css扩展

        1. input[type^='p'] value开头

        2. input[type$='p'] value结束

        3. input[type*='p'] value任意字符

    7. 元素另外一种写法

      1. 通过By类实现

        1. # 导包
          import time
          
          from selenium import webdriver
          # 打开浏览器驱动对象
          from selenium.webdriver.common.by import By
          
          drivder=webdriver.Chrome();
          # 打开网站
          drivder.get("file:///D:/BaiduNetdiskDownload/UI%E8%87%AA%E5%8A%A8%E5%8C%96/web%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%E9%9B%86%E5%90%88/pagetest/%E6%B3%A8%E5%86%8CA.html")
          # 电话号码输入18112345678
          drivder.find_element(By.CLASS_NAME,"telA").send_keys("18112345678");
          # 邮箱输入licheng@baidu.com
          drivder.find_element(By.CLASS_NAME,"emailA").send_keys("licheng@baidu.com");
          # 等待3秒
          time.sleep(3);
          # 关闭浏览器驱动
          drivder.quit();

           

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值