Python UI自动化实践:CSS选择器与浏览器操作

需积分: 0 0 下载量 191 浏览量 更新于2024-08-04 收藏 2KB MD 举报
"Python UI自动化day3的学习笔记主要涵盖了CSS的选择器以及元素和浏览器的属性与方法,这些是进行UI自动化测试的基础知识。" 在Python UI自动化测试中,CSS(Cascading Style Sheets)是一种用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档样式的样式表语言。在day3的学习中,我们深入探讨了CSS如何用于网页的定位和美化。 **CSS选择器**是CSS中的核心概念,它们用于选取我们想要应用样式的HTML元素。简单选择器包括: 1. **标签选择器**:通过直接写标签名称(如`div`, `p`等)来选择HTML结构标签。 2. **ID选择器**:使用`#`符号后面跟着一个唯一的ID值,确保每个元素都有唯一标识。 3. **类选择器**:使用`.`符号后面跟着一个或多个类值,类值之间不能有空格,可以用来选择具有特定类的元素。 4. **属性选择器**:用方括号`[]`包含属性名和等号`=`,如`[href="example.com"]`来选择具有特定属性值的元素。 **复杂选择器**则更进一步,允许更精确的元素选择: 1. **父子选择器**:使用`>`符号,例如`div > p`,选择`div`元素的所有直接子`p`元素。 2. **后代选择器**:使用空格,例如`div p`,选择`div`元素的所有后代`p`元素,无论其层级多深。 3. **序数选择器**:如`:first-child`选择父元素的第一个子元素,`:nth-child(2)`选择父元素的第二个子元素。 此外,还介绍了**属性的模糊匹配**: - 开头匹配:`[属性名^="属性值"]`,用于选择属性值以指定字符串开头的元素。 - 结尾匹配:`[属性名$="属性值"]`,用于选择属性值以指定字符串结尾的元素。 - 包含匹配:`[属性名*="属性值"]`,用于选择属性值中包含指定字符串的元素。 在UI自动化测试中,了解元素的属性和方法同样关键。例如: 1. **size**:用于设置元素的宽度和高度。 2. **text**:获取或设置元素内的文本内容。 3. **getattribute("xxx")**:获取元素的特定属性值。 4. **isdisplayed()**:检查元素是否在屏幕上可见,返回True或False。 5. **isenabled()**:判断元素是否可交互,同样返回True或False。 浏览器的属性和方法对于模拟用户操作至关重要: 1. **maximize_window()**:将浏览器窗口最大化。 2. **set_window_size(100,100)**:设置浏览器窗口的宽度和高度。 3. **set_window_position(300,200)**:定位浏览器窗口的位置。 4. **back()**:模拟用户点击浏览器的后退按钮。 5. **forward()**:模拟用户点击浏览器的前进按钮。 6. **refresh()**:刷新当前页面。 7. **close()**:关闭当前浏览器窗口。 8. **quit()**:关闭所有由WebDriver启动的窗口和进程。 9. **title**:获取当前页面的标题。 10. **current_url**:获取当前页面的URL。 这些基础知识是进行Python UI自动化测试的基石,理解并熟练运用它们能够帮助我们编写出更加高效、精准的自动化测试脚本。