当前位置: 首页 > 知识库问答 >
问题:

使用属性匹配为webDriver编写cssselector表达式

夏飞鹏
2023-03-14

我是css,html等的新手,因此是cssselectors。我一直在搞砸硒网络驱动程序,并试图.click()以下按钮:

<button title="" class="btn addWidgButt bt-block" href="" role="button" type="button"     context="UNIQUE_THING">
<span class="btn-text">UNIQUE THING</span></button>

根据 http://www.w3.org/TR/css3-selectors/#selectors 以下选择器不应该工作吗?(规则是元素 E 的 E[foo=“柱”]

By.cssSelector("button title[context=UNIQUE_THING]")
By.cssSelector("btn.addWidgButt.bt-block[context=UNIQUE_THING]")
By.cssSelector("span[btn-text=UNIQUE THING]")

我认为最后一个是我最好的选择,因为span是一个元素,btn-text是一个属性值。感谢任何帮助,谢谢。

共有1个答案

路思源
2023-03-14

我注意到的一件事是[]中所有的选择器都缺少单引号。

By.cssSelector("button[context='UNIQUE_THING']")
By.cssSelector(".btn.addWidgButt.bt-block[context='UNIQUE_THING']")
By.cssSelector("span.btn-text")

您的第二个选择器缺少前导。

您的最后一个选择器将不起作用,因为您不能用CSS选择器匹配文本。您可以将类与。或带#的id。

有关更多信息,这是一个很好的参考:http://www.w3schools.com/cssref/css_selectors.asp

 类似资料:
  • 问题内容: 我正在使用此模式检查字符串是否在冒号前面至少以2个字母字符开头: 但是我遇到了以下异常: 即使Pattern类的规范指出: 与IsAlphabetic中一样,二进制属性以前缀Is指定。Pattern支持的二进制属性是 字母顺序 表意文字 信 … 以及 Unicode脚本,块,类别和二进制属性 列表的类部分 问题答案: 使用Java 1.8工作并返回true。 请注意,Java 1.7中

  • 问题内容: 我正在使用此模式检查字符串是否在冒号前面至少以2个字母字符开头: 但是我遇到了以下异常: 即使Pattern类的规范指出: 与IsAlphabetic中一样,二进制属性以前缀Is指定。Pattern支持的二进制属性是 字母顺序 表意文字 信 … 以及 Unicode脚本,块,类别和二进制属性 列表的类部分 问题答案: 使用Java 1.8工作并返回true。 请注意,Java 1.7中

  • 我试着用这个网站https://www . free formatter . com/Java-regex-tester . html # ad-output。但是我没有成功。 我的Java正则表达式: 要测试的条目: 我的代码需要为< code>data.matches(()提供< code>true。*)\\w =[0-9][0-9]*$(。*)" " ,共< code >个

  • 下面是在线测试:regex101 下面是java测试: 下面是我测试的输出: 为什么匹配项2为空?在联机匹配器中,它对两者都正确匹配。 正则表达式字符串的说明:

  • 本文向大家介绍js正则表达式惰性匹配和贪婪匹配用法分析,包括了js正则表达式惰性匹配和贪婪匹配用法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js正则表达式惰性匹配和贪婪匹配用法。分享给大家供大家参考,具体如下: 在讲贪婪模式和惰性模式之前,先回顾一下JS正则基础: 写法基础: ①不需要双引号,直接用//包含 => /wehfwue123123/.test(); ②反斜杠\表示转义

  • 我是8Java的新手。我有一个A类对象的列表,其中A的结构如下: 现在我有了一个类A的元素L的列表,在这个列表中,我想用inactive=false更新一个名为name="test "的元素。 我可以通过编写for循环并创建一个新列表来非常轻松地做到这一点。 但是我如何使用Java8流API呢?