周文澍优秀作者
原创内容 来源:小居数码网 时间:2024-08-16 11:25:01 阅读() 收藏:41 分享:52 爆
导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有2343个文字,大小约为10KB,预计阅读时间6分钟。
本文介绍了 Selenium WebDriver 的一些最重要的 CSS 选择器,解释了语法和如何识别 Web 元素。在文章的最后,你可以找到一个可下载的 CSS 选择器备忘单
CSS 选择器是元素的最佳定位策略之一。与 XPath 类似,当我们没有惟一的 ID、名称或类名时,它也能工作。CSS 选择器的工作方式是根据属性及其值标识元素。例如,Chrome 的开发工具可以通过右键单击-> 复制-> 选择器来帮助你获得元素的 CSS 选择器:
在 Developer Tools,Elements 选项卡中,您可以使用 Search 选项基于 CSS 选择器进行筛选,控制台将突出显示所有匹配的元素。
在我看来,这并不是一个比另一个更好的问题。在某些情况下,您更喜欢使用 XPath 而不是 CSS 选择器,在某些情况下,您更喜欢使用 CSS 选择器而不是 XPath。您可以在同一个测试中选择多个定位器策略,具体取决于您希望与之交互的特定元素。
然而,XPath 被认为是更具计算机可读性的,而 CSS 选择器更容易被我们人类阅读。
有一些 CSS 选择器可以很容易地转换成 XPath,因为这两种类型的定位器都允许基于自定义属性和值来标识元素,以及查找子元素或子元素。
与此同时,您将看到本文中解释的一些选择器(例如访问的链接或启用的元素)在 XPath 中没有等价的选择器,因此定位元素的唯一方法是使用 CSS 选择器。
另一方面,XPath 允许标识父母和祖先,这在 CSS 中是不允许的。
无论您是在编写自己的测试代码,还是已经记录了测试,都可以使用 TestProject 进行元素标识。
在记录模式下,你可以高亮显示一个元素,点击“ double-shift”(或者在三点菜单上)来冻结该元素,然后悬停属性菜单项:
在最后一个菜单中,可以看到元素的属性,还可以选择保存元素。TestProject 将自动为元素生成正确的 XPath 和 CSS 选择器。如果您想构建自己的、更具体的定位器,还可以将任何其他属性值复制到剪贴板。
Selenium 允许我们通过各种策略来定位元素,但是现在我们只关注 CSS 选择器。需要注意的重要事项是,如果我们试图定位一个特定的元素,我们必须确保定位器是唯一的,否则我们的测试将只是与匹配提供的定位器的第一个元素进行交互。另一方面,在某些情况下,我们希望标识具有共享 trait 的所有元素(例如,具有类“ product”的所有链接)。
在 SeleniumWebDriver 中,这两个场景都可以轻松实现。
为了与单个元素交互,我们将使用 findElement ()方法,如下所示(示例使用 Java,但原理在所有编程语言中都是相同的) :
driver.findElement(By.cssSelector("#name"));
这意味着与我们的定位器匹配的(第一个)元素将是这行代码返回的元素。
对于多个元素,我们有 findElements ()方法(非常直观,对吧?) :
driver.findElements(By.cssSelector("input:checked"));
此方法将查找与给定 CSS 选择器匹配的所有元素。
让我们详细讨论选择器的类型:
好了,现在我们知道了如何使用和获得一些 CSS 选择器,让我们来看看一个备忘单,它将遍历大多数选择器。您将看到每个选择器的示例和解释。
这些是您可能会使用的最常用的选择器。它们与 id、类名或元素的属性直接相关。语法相当简单(所有项目在这里都是可选的,但可以组合成任意数字) :
与所有定位器一样,如果您试图标识单个元素,请确保它们是唯一的。
CSS 选择器还允许我们基于子字符串进行过滤。因此,除了上面的例子,我们对 ID、 class 或属性使用精确的值,我们还可以只使用属性文本的一部分:
您可能已经知道,HTML 代码具有树结构,因此其元素之间的关系是父子(垂直)和兄弟(水平)。基于此,我们可以使用 CSS 选择器根据元素的父元素、祖先元素和兄弟元素来定位元素。
还可以根据一些特定的特征来标识元素,这些特征前面有: (分号)字符。让我们看看下面的一些例子:
CSS 选择器的限制是什么?因此,CSS 不能实现转向完整性,它永远不能像“ if/else”、 for/while 等或算术任务那样在逻辑上执行。无法使用 CSS 读取文件。它不能完全控制文档显示,并允许页面内容通过任何浏览器显示
CSS 选择器的用法是什么?
类选择器是一种选择具有指定类名称的所有元素并将样式应用于每个匹配元素的方法。选择器必须以句点(.)开头然后是类名。浏览器将查找页面上具有包含该类名称的 class 属性的所有标记。
CSS 中的组选择符是什么?
CSS 分组选择器用于选择多个元素并将它们组合成样式。这减少了为每个元素声明公共样式的代码和额外工作。要对选择器进行分组,每个选择器由一个空格分隔。
selenium中的 CSS 选择器是什么?
CSS 选择器是在使用 Selenium 时识别 Web 元素的最通用的定位器策略之一。
上面就是小居数码小编今天给大家介绍的关于(七种基本的css选择器)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。
94%的朋友还想知道的:
(554)个朋友认为回复得到帮助。
部分文章信息来源于以及网友投稿,转载请说明出处。
本文标题:什么是css的选择器(七种基本的css选择器):http://sjzlt.cn/shuma/156074.html