常见的元素定位---Try Xpath

  • 环境准备
    • firefox->附加组件->搜索Try Xpath->点击添加
  • 查看页面元素
    • 点击右上角插件TX
    • 右键,查看页面元素
    • 红色框中即为输入框的属性
  • find_element_by_id()
    • 可通过id属性定位到元素
    • 定位到输入框后,用send_keys()方法
    • from selenium  import webdriver
      import time
      driver=webdriver.Firefox()
      driver.get("https://www.baidu.com")
      time.sleep(3)
      #通过id定位到百度首页搜索框,搜索内容为python
      driver.find_element_by_id("kw").send_keys("python")
  • find_element_by_name()
    • 通过name定位到元素(name="wd”)
    • from selenium  import webdriver
      import time
      driver=webdriver.Firefox()
      driver.get("https://www.baidu.com")
      time.sleep(3)
      #通过name定位到百度首页搜索框,搜索内容为python
      driver.find_element_by_name("wd").send_keys("python")
  • find_element_by_class_name()
    • 百度首页输入框class_name="s_ipt"
    • from selenium  import webdriver
      import time
      driver=webdriver.Firefox()
      driver.get("https://www.baidu.com")
      time.sleep(3)
      #通过class_name定位到百度首页搜索框,搜索内容为python
      driver.find_element_by_class_name("s_ipt").send_keys("python")
  • find_element_by_tag_name()
    • 搜索框的tag为input
    • 但是在一个页面中相同的标签有多个,所以一般不用标签来定位,该示例仅供理解,运行会报错
    • from selenium  import webdriver
      import time
      driver=webdriver.Firefox()
      driver.get("https://www.baidu.com")
      time.sleep(3)
      #通过tag_name定位到百度首页搜索框,搜索内容为python
      driver.find_element_by_tag_name("input").send_keys("python")
  • find_element_by_link_text()
    • 定位到百度首页的“hao123”按钮
      • 右键,查看页面元素
      • href="https://www.hao123.com"为超链接
      • from selenium  import webdriver
        import time
        driver=webdriver.Firefox()
        driver.get("https://www.baidu.com")
        time.sleep(3)
        #通过超链接定位到hao123按钮,并点击
        driver.find_element_by_link_text("hao123").click()
  • find_element_by_partial_link_text()
    • 超链接的字符串比较长时,可以选择模糊匹配方式,截取其中一部分字符串
    • 如hao123可以输入hao
    • from selenium  import webdriver
      import time
      driver=webdriver.Firefox()
      driver.get("https://www.baidu.com")
      time.sleep(3)
      #通过超链接定位到hao123按钮,并点击
      driver.find_element_by_partial_link_text("hao").click()
  • find_element_by_xpath()
    • 在输入框元素查看器处,右键->复制->xpath  //*[@id="kw"]
    • from selenium  import webdriver
      import time
      driver=webdriver.Firefox()
      driver.get("https://www.baidu.com")
      time.sleep(3)
      #通过xpath定位到输入框,并搜索python
      driver.find_element_by_xpath("//*[@id='kw']").send_keys("python")

      id的值需要用单引号‘’

  • find_element_by_css_selector()
    • 在输入框元素查看器处,右键,复制,css查看器  #kw
    • from selenium  import webdriver
      import time
      driver=webdriver.Firefox()
      driver.get("https://www.baidu.com")
      time.sleep(3)
      #通过css_selector定位到输入框,并搜索python
      driver.find_element_by_css_selector("#kw").send_keys("python")

猜你喜欢

转载自www.cnblogs.com/Arcy/p/11093624.html