我试图在Selenium中使用CSS选择器找到一个表格单元格。这是我的选择器:
//table[@id='prepaymentItemsDataGrid']//tr[@class='tablerowlight']/td[3]
抛出的异常是:
Driver.FindElementByCssSelector("//table[@id='prepaymentItemsDataGrid']//tr[@class='tablerowlight']/td[3]") threw an exception of type 'OpenQA.Selenium.InvalidSelectorException'
我的选择器出了什么问题?我怎么知道Selenium在抱怨什么?
我已经尝试将其简化为:
//table[@id='prepaymentItemsDataGrid']
没有效果。
Selenium是否有不同的执行CSS选择器的方法,如何在尝试运行之前检查选择器是否有效?
答案 0 :(得分:4)
虽然您尝试使用FindElementByCssSelector()
但值属于 XPath 。您可以使用以下任一定位器策略:
CssSelector :
Driver.FindElementByCssSelector("table#prepaymentItemsDataGrid tr.tablerowlight > td:nth-of-type(3)");
XPath :
Driver.FindElementXPath("//table[@id='prepaymentItemsDataGrid']//tr[@class='tablerowlight']/td[3]");