首页 > Web开发 > 详细

CSS元素定位

时间:2019-06-27 21:49:49      阅读:106      评论:0      收藏:0      [点我收藏+]
  • CSS属性定位
    • 用#表示id属性:#kw
    • 用.表示class属性:.s_ipt
    • 直接使用标签名:input,在下面的例子中使用标签定位会报错,因为有多个同名标签,无法准确定位
    • from selenium  import webdriver
      import time
      driver=webdriver.Firefox()
      driver.get("https://www.baidu.com")
      time.sleep(3)
      #css通过id属性定位
      driver.find_element_by_css_selector("#kw").send_keys("python")
      #css通过class属性定位
      driver.find_element_by_css_selector(".s_ipt").send_keys("python")
      #css通过标签属性定位
      driver.find_element_by_css_selector("input").send_keys("python")
    • from selenium  import webdriver
      import time
      driver=webdriver.Firefox()
      driver.get("https://www.baidu.com")
      time.sleep(3)
      #css通过name属性定位
      driver.find_element_by_css_selector("[name=‘wd‘]").send_keys("python")
      #css通过autocomplete属性定位
      driver.find_element_by_css_selector("[autocomplete=‘off‘]").send_keys("python")
      #css还可以通过type属性定位

       

  • css通过标签与属性组合定位
    • from selenium  import webdriver
      import time
      driver=webdriver.Firefox()
      driver.get("https://www.baidu.com")
      time.sleep(3)
      #css通过标签与class属性定位
      driver.find_element_by_css_selector("input.s_ipt").send_keys("python")
      #css通过标签与id属性定位
      driver.find_element_by_css_selector("input#kw").send_keys("python")
      #css通过标签与id属性定位
      driver.find_element_by_css_selector("input[id=‘kw‘]").send_keys("python")
      #可以只要属性定位,没有值,但是此处有同名,运行会报错
      driver.find_element_by_css_selector("input[name]")
      #css通过两种属性组合定位
      driver.find_element_by_css_selector("[name=‘wd‘][autocomplete=‘off‘]").send_keys("python")
  • css层级关系
    • from selenium  import webdriver
      import time
      driver=webdriver.Firefox()
      driver.get("https://www.baidu.com")
      time.sleep(3)
      #css通过层级id属性的定位
      driver.find_element_by_css_selector("form#form>span>input").send_keys("python")
      #css通过层级class属性定位
      driver.find_element_by_css_selector("form.fm>span>input").send_keys("python")

       

  • css索引
    •   

      nth-last-child(n),倒数第几个标签

      first-child,第一个标签

      last-child,最后一个标签

      only-child,唯一的标签

    • 技术分享图片
    • 技术分享图片
  • css逻辑运算
    • 不需要直接写明and
    • from selenium  import webdriver
      import time
      driver=webdriver.Firefox()
      driver.get("https://www.baidu.com")
      time.sleep(3)
      driver.find_element_by_css_selector("[name=‘wd‘][autocomplete=‘off‘]").send_keys("python")
  • CSS模糊匹配
    • 技术分享图片
    • from selenium  import webdriver
      import time
      driver=webdriver.Firefox()
      driver.get("https://www.baidu.com")
      time.sleep(3)
      #属性值由多个空格隔开,匹配其中一个值
      driver.find_element_by_css_selector("input[class~=‘s_btn‘]")
      #匹配属性值为字符串开头
      driver.find_element_by_css_selector("input[class^=‘s_i‘]").send_keys("python")
      #匹配属性值为字符串结尾
      driver.find_element_by_css_selector("input[class$=‘ipt‘]").send_keys("python")

       

CSS元素定位

原文:https://www.cnblogs.com/Arcy/p/11099626.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!