zoukankan      html  css  js  c++  java
  • selenium元素定位

    selenium元素定位

    selenium元素定位主要有以下8种

    • ID
    • Class name
    • name
    • tag name
    • css selector
    • xpath
    • link
    • partial link text

    这几个方式在python selenium中对应的方法

    • find_element_by_id()
    • find_element_by_name()
    • find_element_by_class_name()
    • find_element_by_tag_name()
    • find_element_by_link()
    • find_element_by_partial_link_text()
    • find_element_by_css_selector()
    • find_element_by_xpath()

    代码示例:

    #coding utf-8
    from selenium import webdriver
    browser = webdriver.Firefox()
    
    browser.get("http://www.baidu.com")
    
    ##百度输入框的定位方式###
    
    #通过ID方式定位
    browser.find_element_by_id('kw').send_keys('selenium')
    
    #通过class name方式定位
    browser.find_element_by_class_name('s_ipt').send_keys('selenium')
    
    #通过name方式定位
    browser.find_element_by_name('wd').send_keys('selenium')
    
    #通过tag name方式定位
    browser.find_element_by_tag_name('input').send_keys('selenium')
    
    #通过css方式定位
    browser.find_element_by_css_selector('#kw').send_keys('selenium')
    
    #通过xpath方式定位
    browers.find_element_by_xpath("//input[@id = 'kw']").send_keys("selenium")
    
    ############
    browser.find_element_by_id('su').click()
    time.sleep(3)
    browser.quit() #表示关闭浏览器
    browser.close()#表示关闭当前页面
    
    xpath:attributer(属性)
    driver.find_element_by_xpath("//input[@id = 'kw']").send_keys("selenium")
    
    #input标签下 id = kw的元素
    
    xpath:idRelative(id 相关性)
    
    driver.find_element_by_xpath("//div[@id = 'fm']"/from/span/input).send_keys("selenium")

    Link 与partial link text方式定位

    #link定位,主要用于定位文本
    
    #coding utf-8
    from selenium import webdriver
    
    browser = webdriver.Firefox()
    browser.get("http://www.baidu.com")
    browser.find_element_by_link_text("贴吧").click()
    browser.quit()
    
    #使用partial link text 方式定位
    browser.find_element_by_partial_link_text("").click()

    xpath语法等参考【这里】学习。

  • 相关阅读:
    Python并发编程—自定义线程类
    Python并发编程—线程对象属性
    syfomny 好教材....
    drupal_get_css -- drupal
    common.inc drupal
    date iso 8610
    js很好的教材
    user_load_by_name
    eck add form
    把一个表导入到另一个地方...
  • 原文地址:https://www.cnblogs.com/aszeno/p/10307854.html
Copyright © 2011-2022 走看看