我正在尝试使用CssSelector在我的网页上找到一个元素。我正在使用Firefox驱动程序。
以下是我使用定位器的方法(我检查过Selenium IDE能够找到我的元素
[FindsBy(How = How.CssSelector, Using = "label:contains('Version: 2.0.')")]
public IWebElement labelVersion;
但是当在C#代码中使用它并用它初始化时 我的构造函数中的PageFactory.InitElements。
我遇到了这个错误......(错误本身很清楚,但我不知道如何修复它)
感谢任何输入。
OPC.Tests.SmokeTest(TestFixtureSetUp):SetUp: OpenQA.Selenium.InvalidSelectorException:给定的选择器 css = label:contains('Version:2.0。')无效或无效 导致WebElement。发生以下错误:[例外... “指定了无效或非法字符串”代码:“12”nsresult: “0x8053000c(NS_ERROR_DOM_SYNTAX_ERR)”位置: “文件:///........../anonymous439571104.webdriver-profile/extensions/fxdriver@googlecode.com/components/driver_component.js 行:5811“]
答案 0 :(得分:5)
Selenium将CSS查询委托给浏览器。这意味着CSS查询需要遵循CSS标准。
不幸的是:一段时间后,包含已从标准中删除。我建议您使用spec中提供的内容重做选择器,或使用XPATH。
:包含Selenium RC中的作品,因为RC使用Sizzle,jQuery中的选择器搜索库,如果你想知道为什么它在RC中工作而不是WebDriver