selenium元素定位

1、ID定位:一般情况下源文档钟没有id
find_element_by_id()

# 定位代码
driver.get(r'https://www.baidu.com/')
element = driver.find_element_by_id('kw')
print(element)
driver.quit()
结果:<selenium.webdriver.remote.webelement.WebElement (session="3e0def3fbbef01b1604038c722b41d35", element="0.08304348633606717-1")>

2、name定位
find_element_by_name()

driver.get(r'https://www.baidu.com/')
element = driver.find_elements_by_name('wd')
print(element)
结果:[<selenium.webdriver.remote.webelement.WebElement (session="46f01fcf2c00a29da78497104ccfed52", element="0.5631928694723543-1")>]

3、class定位
find_element_by_class_name()

driver.get(r'https://www.baidu.com/')
element = driver.find_element_by_class_name('s_ipt')
print(element)
结果:<selenium.webdriver.remote.webelement.WebElement (session="6cded2a9afc8d9e39572c801bf5317eb", element="0.8550768388558103-1")>

示例:定位一组class相同的元素中的第2个
self.find_elements_by_class_name('el-submenu__title')[1]
4、tag定位

driver.get(r'https://www.baidu.com/')
element = driver.find_element_by_tag_name('input').send_keys('selenium')

5、link定位

# 全部文字
driver.get(r'https://www.baidu.com/')
element = driver.find_element_by_link_text('新闻').click()
#部分文字
element = driver.find_element_by_partial_link_text('闻').click()

6、CSS定位

driver.get(r'https://www.baidu.com/')
driver.find_element_by_css_selector('#kw').send_keys('selenium')

7、xpath定位

driver.get(r'https://www.baidu.com/')
driver.find_element_by_xpath("//*[@id='kw']").send_keys('selenium')

详见https://www.jianshu.com/p/08318c306b4d

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 定位方式: id name class name tag name link text 元素文本...
    honestpan阅读 362评论 0 1
  • 1.Selenium元素定位 1.1自动化测试基础 1.1.1分层的自动化测试 传统的自动化测试更关注产品UI层的...
    闻香师叔阅读 725评论 0 3
  • 以下是所有定位操作的 API : 返回一个匹配元素, 即一个 WebElement 元素 find_element...
    Nancy_Luo阅读 182评论 0 0
  • 【0705今日话题】 上半年有哪些事让你感到由衷地快乐? 001 加入了小灶群,受到启蒙。 002 认识了很多新朋...
    顺水顺风阅读 187评论 0 0
  • 将来 作词:灵月卯 独自一人来到了陌生的城市 带着冷眼嘲笑和自己的倔强 川流不息的车辆人来人往 远方的呼唤和自己的...
    灵月卯阅读 252评论 0 0