这几天复习了之前学习selenium的课堂笔记和课后作业,把知识巩固了,也将一些忘记了的重新捡起来。现在做一个要点总结。
初识webdriver
selenium是模拟人去操作浏览器,测试的是整个web应用,包括前端和后端。
要操作网页就要了解HTML结构,比如常见的元素标签和属性。这里有个特殊一点的属性innerHTML和outerhtml要注意,前者不包括所引用对象本身的标签信息,而是起始标签和结束标签内部子元素信息,后者包括。
选择web元素
一般的方法是根据标签名或id,class等属性。注意唯一性可以快速的定位到元素。
这里有一个beautifulsoap的用法,是一个第三方库,它不能驱动网页,只能获取信息。注意它操作的是字符串,使用前需要将html以文本方式读出来。一般创建对象的方式bs=beautifulsoap(“文本对象”,“html5lib”),html5lib这个解析库需要安装。
frame切换
iframe相当于内置的一个子HTML。切换通常使用driver.switch_to_frame(frame_reference),注意这里的frame_reference可以是三种情况。1.name或id属性,注意不是标签名称2.索引,从0开始。3.frame所对应的webelement。
切回主HTML,driver.switch_to.default_content()。
CSS选择器
CSS选择器可以定位到较为复杂的元素,需要组合条件进行定位的。
注意伪类的使用方法。:nth-of-child(n)表示是子元素s1,且处于第n位;:nth-of-type(n),表示元素类型s1,且是第n个这样的元素。
xpath选择器
xpath是根据路径来定位元素的。注意//ele[n]表示的是第n个ele类型的子元素,等价于CSS里面的nth-of-type(n)。
还有一种用法是相邻兄弟元素选择器。/predicting-sibling::*表示选择之前的兄弟元素,/followwing-sibling::表示选择之后的兄弟元素。
浏览器的使用技巧
注意alert是一个浏览器控件,有三种类型。使用driver.switch_to.alert.function,有各种方法对应操作。
还有是import win32.client,可以通过win32.client.dispatch(“WScript.shell”)创建shell对象,再调用sendkeys方法直接发送字符串给窗口。
还有冻结窗口的方法,settimeout(function(){debuger;},开始冻结时间),可以防止鼠标移开元素不见。
以上就是对之前学习的简单总结,希望以后多多应用,不断加深理解,真正掌握这个技术。
selenium 要点总结
最新推荐文章于 2024-04-26 21:30:03 发布