Python+Selenium练习篇之5

前面介绍了,XPath, id , class , link text, partial link text, tag name, name 七大元素定位方法,本文介绍webdriver支持的最后一个方法:by_css。css和XPath类似,也需要掌握一些语法,才能写出正确的,完整的css选择表达式。

相关脚本代码如下:

1# coding=utf-8 2 3from selenium import webdriver 4 5driver = webdriver.Chrome() 6driver.maximize_window() 7driver.implicitly_wait(6) 8 9driver.get("https://www.baidu.com") 10try: 11driver.find_element_by_css_selector("#su") # 找 百度一下 这个按钮 12print ('test pass: element found by css selector') 13except Exception as e: 14print ("Exception found", format(e)) 15 16driver.quit()

总结:如果一开始没有接触css,感觉写css表达式有点困难,没关系。看个人喜好和适合哪个,例如,如果你掌握好了XPath的写法,那么就可以不去管css,毕竟大部分xpath表达式都能够定位到元素。有些人可能说了,css要比xpath表达式查找元素的速度要快,这个你不要去担心,对计算机来讲,你根本无法区分哪个更快,也不是自动化测试考虑的重点。

建议:一定要掌握好XPath或者css来定位元素,其他的几种了解就可以。毕竟在实际项目开发脚本阶段,很多元素是无法通过id ,css, text, name来直接定位这个网页元素,更多的还是根据XPath或者css表达式去定位。

今天是元素定位最后一篇,大家也看到Python的元素定位也就那几个     总有一种适合你的(海量免费学习资料,软件测试交流:1140267353,还会有同行一起技术交流)

上一篇    Python+Selenium练习篇之4-利用class name/name定位元素

下一篇    

以上仅供参考和借鉴,希望对你有所帮助!

点个关注不迷路
小枫文章整理不易,欢迎各位朋友点赞关注!

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Selenium 详解CSS定位

xpath定位是“屠龙刀”,那CSS定位就是"倚天剑了",相对xpath来说,具有语法简单,定位速度快等优点一、属性定位1、可以通过元素的id,class,tag标签这三个属性直接定位  表示id属性,如:kw.  表示class属性,如:.s\_ipt直接用标签名称,如:inpu