我是css,html等的新手,因此也是cssselectors。我一直在搞乱selenium webdriver,我正在尝试.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 =“bar”]
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是一个属性值。感谢任何帮助。谢谢。
答案 0 :(得分:0)
我注意到的一件事是[]中的所有选择器都缺少单引号。
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