CSS(Cascading Style Sheets)是一种语言,它被用来描述HTML和XML文档的表现。CSS 使用选 择器来为页面元素绑定属性。这些选择器可以被 selenium 用作另外的定位策略。
CSS的定位速度比XPATH要快,当然,语法的话,也是比XPATH复杂一点,其实CSS和XPATH只要精通一个,就可以了。当然,如果两个方法都掌握,那也是很美丽的事情
CSS的详细介绍,可以参照w3c教程, https://www.cdsy.xyz/computer/programme/html_div_css/css3.html
我们还是定位百度首页的"百度一下"按钮
- # coding = utf-8
- from selenium import webdriver
- import time
- from selenium.webdriver.common.by import By
-
- driver = webdriver.Chrome()
- url = 'http://www.baidu.com'
- driver.get(url)
-
- # 增加一个判断
- try:
- driver.find_element(By.CSS_SELECTOR,"#su")
- print("test pass")
-
- except Exception as e:
- print("test failed",format(e))
-
-
- time.sleep(5)
- driver.quit(
我个人比较喜欢使用XPATH元素定位方法,但是作为测试人员,不管使用XPATH还是CSS,只要能正常运行脚本,就是可行的。
到这里,元素的8种定位方法已经学习完了,接下来,我们就需要熟悉鼠标事件,键盘事件等。
在这里,还是多唠叨一句,如果是初学者,就要多多练习,不管是使用百度首页还是其他网页,一定要亲手敲一遍代码,这样不仅有利于熟悉代码,还有利于发现问题,这一步是初学者的必走之路,千万不要以为有捷径!