selenium八大元素定位(二)

上节讲了4种定位ID、NAME、LINK_TEXT、XPATH,这节继续学习剩下的4种元素定位方式

1.通过class_name定位

我们需定位上图中的"百度热榜",可以看到它的class="title-text c-font-medium c-color-t"这其中class_name有3个,分别是title-text、c-font-medium、c-color-t(不是唯一)并通过空格连接在一起,下面我们来试着定位它

#定位"百度热榜"
import time
from selenium import webdriver        #从selenium中导入webdriver
driver = webdriver.Chrome()           #创建chrome浏览器的驱动实例对象
driver.get('http://www.baidu.com')    #调用"驱动对象"的get方法来控制浏览器打开指定网页
driver.find_element_by_class_name("title-text").click()    #通过class_name定位百度热榜并点击
#driver.find_element_by_class_name("c-font-medium").click()
time.sleep(5)    #强制等待5S
driver.quit()    #退出浏览器

2.通过tag_name定位

tag_name定位方式使用较少,因为同一个标签会重复多次,导致不易定位

#定位输入框input
import time
from selenium import webdriver        #从selenium中导入webdriver
driver = webdriver.Chrome()           #创建chrome浏览器的驱动实例对象
driver.get('http://www.baidu.com')    #调用"驱动对象"的get方法来控制浏览器打开指定网页
A = driver.find_elements_by_tag_name("input").click()    #通过tag_name定位input标签
print(A)
'''
输入结果会返回一个列表:
[<selenium.webdriver.remote.webelement.WebElement (session="38a737d81faf9d7dcdce46d9d8f1f95c", element="0.15422789531245007-1")>,
<selenium.webdriver.remote.webelement.WebElement (session="38a737d81faf9d7dcdce46d9d8f1f95c", element="0.15422789531245007-2")>,
<selenium.webdriver.remote.webelement.WebElement (session="38a737d81faf9d7dcdce46d9d8f1f95c", element="0.15422789531245007-3")>...]
'''
time.sleep(5)    #强制等待5S
driver.quit()    #退出浏览器

3.通过partial_link_text定位

用于文本链接的定位,可根据链接的部分名称进行定位。我们定位百度首页的贴吧,代码如下

#定位贴吧
import time
from selenium import webdriver        #从selenium中导入webdriver
driver = webdriver.Chrome()           #创建chrome浏览器的驱动实例对象
driver.get('http://www.baidu.com')    #调用"驱动对象"的get方法来控制浏览器打开指定网页
driver.find_element_by_partial_link_text("贴吧").click()    #定位贴吧并跳转
time.sleep(5)    #强制等待5S
driver.quit()    #退出浏览器

4.通过css_selector定位

css_selector的定位方式在selenium中用得较少。在css_selector中常用符号数码:  # 表示id  . 表示class  > 表示子元素,层级,一个空格也表示一个子元素,但是所有的子元素相当于xpath中的相对路径,例:driver.find_element_by_xpath(’//div//inptut’),可以写成driver.find_element_by_css_selector(‘div input’)

import time
from selenium import webdriver        #从selenium中导入webdriver
driver = webdriver.Chrome()           #创建chrome浏览器的驱动实例对象
driver.get('http://www.baidu.com')    #调用"驱动对象"的get方法来控制浏览器打开指定网页
#①.title-text 表示选择class为title-text的节点
driver.find_element_by_css_selector(".title-text").click()    #定位热榜并跳转
#②#kw 选择id为kw的节点
driver.find_element_by_css_selecotr("#kw").send_keys("Python")    #定位输入框并传值
#③div#radio>input  选择id为radio的div下的所有的input节点
#④div#radio input  选择id为radio的div下的所有的子孙后代input节点
time.sleep(5)    #强制等待5S
driver.quit()    #退出浏览器

python+selenium自动化(四)__八大元素定位之class_name、tag_name、partial_link_text、css_selector相关推荐

  1. Python+selenium自动化八大元素定位方法及实例(超详细)

    目录 一.selenium模块中的find_element_by_id方法无法使用 二.Python+selenium自动化八大元素定位方法 使用场景: 1.通过id属性定位:driver.find_ ...

  2. 超全面整理,Selenium 八大元素定位方式,(建议收藏反复使用)

    UI自动化测本质无非就是: 定位元素 -> 操作元素 -> 模拟页面动作 -> 断言结果 -> 生成测试报告. 所以我们做UI自动化的第一步就是定位元素,如果连元素都定位不到就 ...

  3. 八大元素定位方法(Python/Java)

    许多不切实际的鼓励,大都是来自酒肉朋友或是远方亲戚. 小编最近在学习Web 自动化测试,所以趁热打铁,整理下相关的知识点,今天主要分享的是八大元素定位方法,无论是移动端还是web端,八大定位方法是共用 ...

  4. python自动定位_自动化的8种元素定位 分享助:Python自动

    分享助:Python自动化测试页面table列表元素定位 页面中有一个通过table列表开关属性和span标签背景替换样式做出来的单选不要去看那个伤口,它有一天会结疤的,疤痕不褪,可它不会再痛. 自动 ...

  5. selenium八大元素定位方法

    selenium八大元素定位方法 定位方式一 定位方式二 定位方式一 定位方式二 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与 ...

  6. chrome 控制台信息获取 python_【python+selenium自动化】设置Chrome启动参数

    起因:直接用selenium的webdriver启动chrome,会弹出"Chrome正在受到自动软件的控制",并且窗口较小,是因为chrome没有加载任何配置 解决:点进sele ...

  7. Python + selenium自动化工具 + 滑块验证码+点选验证码,实现模拟登录“中国铁路网12306”

    文章目录 一.模拟登录"中国铁路网12306 1.引入库 2.初始化 3.将点选验证码图片,通过人工打码,返回目标像素位置(json格式). 4.点选验证码位置得到后,需要鼠标左击进行模拟人 ...

  8. python selenium自动化(二)自动化注册流程

    需求:使用python selenium来自动测试一个网站注册的流程. 假设这个网站的注册流程分为三步,需要提供比较多的信息: 在这个流程里面,需要用户填入信息.在下拉菜单中选择.选择单选的radio ...

  9. php selenium模拟登陆,python+selenium自动化实战携带cookies模拟登陆微博

    首先获取cookies,使用手机扫码登录斗鱼,然后利用网页cookies保存在本地 有些同学可能会问,这不是相当于自己登录了吗,还模拟什么呢,其实来说这是一次获取cookies可以使用很久 #!/us ...

最新文章

  1. yii cgridview 默认的筛选如何做成选择框
  2. 查看系统信息命令:uname
  3. python2 队列的使用_使用2个队列创建堆栈
  4. TensorFlow学习笔记(九)tf搭建神经网络基本流程
  5. 商业智能常见名词浅释(转载)
  6. AD/DA的分类与指标
  7. 同济大学《高等数学》上册答案
  8. 微信小程序云数据库中变量作为字段名与字段取值、字段值取值
  9. 《东周列国志》第七十七回 泣秦庭申包胥借兵 退吴师楚昭王返国
  10. gateway的作用
  11. 现在1分、2分、5分硬币的收藏价格如何呢?
  12. 待办事项列表,敏捷项目管理的核心工件
  13. stm32 iic 从机模式 时钟低电平问题
  14. 视觉设计本地化的重要性
  15. Dubbo的Api+Provider+Customer示例(IDEA+Maven+Springboot+dubbo) 项目结构
  16. excel行列互换_excel:关于选择性粘贴,你可能还不知道的操作
  17. django—APIView详细讲解
  18. 史上最全图文精美排版技巧
  19. 【华为机试真题 Python】窗口滑动和最大值
  20. 软嵌171 王学晨 作业二 时事评论

热门文章

  1. 工作4年JAVA工程师面试总结:高频试题提及,最容易忽略的问题(附答案解析)
  2. Ubuntu查看端口和释放端口
  3. 佛罗里达大学计算机科学专业排名,佛罗里达大学计算机专业排名怎么样?_托普仕留学...
  4. day_14 常用API
  5. 爬虫学习-第一弹-批量下载二次元好图
  6. js设置睡眠N秒后再执行
  7. 3DMax插件安装方法介绍
  8. 绕过安全狗的SQL注入
  9. tomcat出现404的原因_详解Tomcat出现404的解决方法
  10. 一些关于面试常考的问题总结(计算机网络和python语法)