前面介绍了,XPath, id , class , link text, partial link text, tag name, name 七大元素定位方法,本文介绍webdriver支持的最后一个方法:by_css。css和XPath类似,也需要掌握一些语法,才能写出正确的,完整的css选择表达式。
相关脚本代码如下:
# coding=utf-8 from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(6) driver.get("https://www.baidu.com") try: driver.find_element_by_css_selector("#su") # 找 百度一下 这个按钮 print ('test pass: element found by css selector') except Exception as e: print ("Exception found", format(e)) driver.quit()
总结:如果一开始没有接触css,感觉写css表达式有点困难,没关系。看个人喜好和适合哪个,例如,如果你掌握好了XPath的写法,那么就可以不去管css,毕竟大部分xpath表达式都能够定位到元素。有些人可能说了,css要比xpath表达式查找元素的速度要快,这个你不要去担心,对计算机来讲,你根本无法区分哪个更快,也不是自动化测试考虑的重点。
建议:一定要掌握好XPath或者css来定位元素,其他的几种了解就可以。毕竟在实际项目开发脚本阶段,很多元素是无法通过id ,css, text, name来直接定位这个网页元素,更多的还是根据XPath或者css表达式去定位。
今天是元素定位最后一篇,大家也看到Python的元素定位也就那几个 总有一种适合你的。(海量免费学习资料,软件测试交流:1140267353,还会有同行一起技术交流)
上一篇 Python+Selenium练习篇之4-利用class name/name定位元素
下一篇 Python+Selenium练习篇之6-清除文本方法/刷新当前页面/浏览器上前进和后退操作
以上仅供参考和借鉴,希望对你有所帮助!
扫描二维码关注公众号,回复:
11425472 查看本文章
![](/qrcode.jpg)
点个关注不迷路
小枫文章整理不易,欢迎各位朋友点赞关注!