大概了解一下即可,现在主要用的自动化工具是 playWright,它可以录制操作。
selenium是老款自动化测试工具,仍有很多可取之处。
安装:
pip install selenium即可。然后下载浏览器的驱动包,注意不是浏览器!
然后解压驱动包,将里面的exe程序放入python下载的位置。就不用添加环境变量了,因为python这个位置一般都已经添加了环境变量。
使用驱动打开浏览器的方式:wd = webdriver.Chrome() //最简洁方式,已经添加到环境变量中了。 wd = webdriver.Edge(service=Service(r'D:\work_soft\python\msedgedriver.exe')) //未添加到环境变量,需要指定路径。
对比playWright,selenium需要下载对应驱动包。而playwright一个命令即可完成。且操作命令也有些不同,但css选择器是一样的,html文档的节点也是一样的。
选择元素的方法:
根据 id属性 选择元素:# 根据id选择元素,返回的就是该元素对应的WebElement对象 element = wd.find_element(By.ID, 'kw')
通过element.send_keys(‘信息’)方法操作元素。//输入文本信息
根据 class属性:wd.find_elements(By.CLASS_NAME, 'animal') 注意这里find_elements多一个s,表示返回多个元素。通过for element in elements: print(element.text) 打印文本信息。
tag名 选择元素:elements = wd.find_elements(By.TAG_NAME, 'div') 用法同上。
find_element与find_elements返回的数量不一样。
通过WebElement对象选择元素:实质就是嵌套。第一个元素对象还可以使用find_element的方法。
等待界面元素出现:# 等待 1 秒 from time import sleep sleep(1) 。注意palyWright的等待界面元素出现的方法不能用sleep。
操控元素的方法:
点击元素:调用webElement对象的click方法。
输入元素信息:send_keys方法。
wd.find_elements(By.CLASS_NAME,'result-item').send_keys("文本信息")
获取元素信息:print(element.text)
获取输入框的文字:element.get_attribute('value')
获取元素的属性值:element.get_attribute('class')
CSS表达式:
通过 CSS selector
语法选择元素。