1,8种单数定位方式

  1. # 通过ID定位目标元素
  2. driver.find_element_by_id('i1')
  1. # 通过className定位目标元素
  2. driver.find_element_by_class_name('classname')
  1. # 通过name属性定位目标元素
  2. driver.find_element_by_name('n1')
  1. # 通过Xpath定位目标元素
  2. driver.find_element_by_xpath('//*[@id="i1"]')
  1. # 通过css Selector定位目标元素
  2. driver.find_element_by_css_selector('[placeholder="请通过CSS SELECTOR定位元素"]')
  1. # 通过标签名称定位(注:在一个页面中,标签一定会重复,所以不用这个来进行定位)
  2. driver.find_element_by_tag_name('input')
  3.  
  4. # 通过标签中的文本查找元素
  5. driver.find_element_by_link_text('登录')
  1. # 通过标签中文本的模糊匹配查找
  2. driver.find_elements_by_partial_link_text('录')

2,8种复数定位方式

  1. # 复数模式 以tag为例 返回的是相同所有元素,以list的方式返回
    # element = driver.find_elements_by_tag_name('input')[5]
    # driver.find_elements_by_class_name()
    # driver.find_elements_by_id()
    # driver.find_elements_by_link_text()
    # driver.find_elements_by_partial_link_text()
    # driver.find_elements_by_name()
    # driver.find_elements_by_xpath()
    # driver.find_elements_by_css_selector()

3,2种底层定位方式

  1. # driver.find_element()
    # driver.find_elements()
  2.  
  3. 4,向文本框发送字符串sendkeys()
  1. from selenium import webdriver
  2. '''
  3. # Chrome的配置
  4. option = webdriver.ChromeOptions()
  5. # # 增加启动就放大浏览器
  6. option.add_argument("--start-maximized")
  7. # # 启动浏览器
  8. driver = webdriver.Chrome(chrome_options=option)
  9. # 请求目标网址
  10. driver.get("http://ui.imdsx.cn/uitester/")
  11. #定位元素
  12. element = driver.find_element_by_id('i1')
  13. #向文本框发送字符串
  14. element.send_keys('UI自动化')

4,定位到元素后,点击click

  1. from selenium import webdriver
  2. '''
  3. # Chrome的配置
  4. option = webdriver.ChromeOptions()
  5. # # 增加启动就放大浏览器
  6. option.add_argument("--start-maximized")
  7. # # 启动浏览器
  8. driver = webdriver.Chrome(chrome_options=option)
  9. # 请求目标网址
  10. driver.get("http://ui.imdsx.cn/uitester/")
  11. #定位链接元素
  12. element = driver.find_element_by_link_text('跳转大师兄博客地址')
  13. #点击定位到链接
  14. element.click()

5,执行JavaScript语句

  1. # 执行JavaScript语句
  2. driver.execute_script('JavaScript Commond')
  3.  
  4. # 例:
  5. # 通过js来操作滚动条
  6. # 参数1:x 参数2: y
  1. driver.execute_script('window.scrollTo(0,0);')# 滚动条滑动到顶端

6,关闭与退出

  1. # 当开启多个时,关闭当前页面
  2. driver.close()
  3.  
  4. # 退出并关闭所有页面驱动
  5. driver.quit()

7,窗口大小设置

  1. driver = webdriver.Chrome()
  2. # 获取浏览器大小
  3. # size = driver.get_window_size()
  4. # # 设置浏览器大小
  5. # driver.set_window_size(1200,100)

8,获取所有窗口及其他

  1. # 获取所有浏览器窗口的名字
  2. # print(driver.window_handles)
  3. # #获取当前浏览器窗口的名字
  4. # print(driver.current_window_handle)
  5. # 返回当前url
  6. # print(driver.current_url)
  7. # 返回是运行的什么浏览器,例如chrome
  8. # print(driver.name)
  9. # 页面面源码
  10. # print(driver.page_source)
  11. # 标题
  12. # print(driver.title)

9,截取当前窗口的图片,会把当前页面截图保存

  1. driver.get_screenshot_as_file('test.png')

10,element Api

  1. # 根据标签属性名称,获取属性value
  2. element.get_attribute('style')
  3. # 向输入框输入字符串 如果input的type为file类型 可以输入文件绝对路径上传文件
  4. element.send_keys()
  5. # 清除文本内容
  6. element.clear()
  7. # 鼠标左键点击操作
  8. element.click()
  9. # 通过属性名称获取属性
  10. element.get_property('id')
 

selenium-webdirver api-定位方式的更多相关文章

  1. python+selenium二:定位方式

    # 八种单数定位方式:elementfrom selenium import webdriverimport time driver = webdriver.Firefox()time.sleep(2 ...

  2. selenium的基本定位方式总结

    Selenium提供了8种定位方式. id name class name tag name link text partial link text xpath css selector 这8种定位方 ...

  3. Selenium八大元素定位方式

    1.根据id来定位: import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.sele ...

  4. selenium定位方式-获取标签元素:find_element_by_xxx

    定位方式取舍# 唯一定位方式.多属性定位.层级+角标定位(离目标元素越近,相对定位越好) # 推荐用css selector(很少用递进层次的定位)# 什么时候用xpath呢? 当你定位元素时,必须要 ...

  5. selenium:css_selector定位详解

    selenium:css_selector定位详解(css selector和xpath的比较) 来源:https://www.cnblogs.com/haifeima/p/10138154.html ...

  6. selenium:css_selector定位详解(css selector和xpath的比较)

    selenium使用css selector和xpath的比较 selenium提供的定位方式(常用) ID NAME CLASS CSS SELECTOR XPATH   推荐的定位方式的优先级 优 ...

  7. 《手把手教你》系列技巧篇(二十)-java+ selenium自动化测试-元素定位大法之终卷(详细教程)

    1.简介 这篇文章主要是对前边的文章中的一些总结和拓展.本来是不打算写着一篇的,但是由于前后文章定位元素的时间有点长,怕大家忘记了,就在这里简单做一个总结和拓展. 2.Selenium八种定位方式 S ...

  8. Selenium Webdriver元素定位的八种常用方式

    楼主原创,欢迎学习和交流,码字不容易,转载请注明出处,谢谢. 在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素 ...

  9. 【高德地图API】从零开始学高德JS API(七)——定位方式大揭秘

    原文:[高德地图API]从零开始学高德JS API(七)——定位方式大揭秘 摘要:关于定位,分为GPS定位和网络定位2种.GPS定位,精度较高,可达到10米,但室内不可用,且超级费电.网络定位,分为w ...

  10. selenium WebDriver 八种定位方式源码

    /* * 多种元素定位方式 */ package com.sfwork; import java.util.List; import org.openqa.selenium.By; import or ...

随机推荐

  1. ABAP锁,数据库锁

    原文出自 江正军 技术博客,博客链接:www.cnblogs.com/jiangzhengjun ABAP数据锁定 SM12锁查看与维护 通用加锁与解锁函数 ABAP程序锁定 数据库锁 锁的分类和兼容 ...

  2. CoreThink主题开发(七)使用H-ui开发博客主题之新闻资讯正文页面

    感谢H-ui.感谢CoreThink! 效果图: 后台发文章有上传附件.封面的功能,但是前台代码中有,不能显示,去除了,前台页面还有社会化分享,百度的,页面也不显示. Blog/Cms/Index/d ...

  3. LeetCode-11-6

    1.  Two Sum Given an array of integers, return indices of the two numbers such that they add up to a ...

  4. 剑指offer 面试28题

    面试28题: 题目:对称的二叉树题: 请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的 解题思路: 可以定义一种遍历算法,先遍历右子节点再遍 ...

  5. Video标签的使用

    现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意儿没出事的话)的(Opera.Mozilla.Chrome),支持H.264的(Safari.IE ...

  6. loadrunder脚本篇——文件读写操作

     函数说明 函数原型: size_t fwrite( const void *buffer, size_t size, size_t count, FILE *file_pointer ); 参数说明 ...

  7. linux环境vim升级到vim74

    作为编辑器之神,vim7.4已经发布近两个月了.从vim7.3到vim7.4,时隔两年之久,做了多项改正和性能提升,作为Linux Geeksters的你,怎能错过. 由于各大主流linux操作系统都 ...

  8. java常用日期操作方法

    package com.wujiangpo.test.util; import java.text.ParseException; import java.text.SimpleDateFormat; ...

  9. 类锁、对象锁、互斥锁与synchronized

    本文总结自: https://blog.csdn.net/luckey_zh/article/details/53815694 互斥锁: 若对象有互斥锁,则在任一时刻,只能有一个线程访问对象.类锁.对 ...

  10. 【bzoj2423】最长公共子序列[HAOI2010](dp)

    题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2423 题目大意:求两个字符串的最长公共子序列长度和最长公共子序列个数. 这道题的话,对于 ...