我试图在面板(或表格,我不确定)的页面上找到元素。使用ID或名称时,无法找到它。我正在尝试使用XPath查找元素,但遇到问题。 Firebug不再受支持,我无法使用Firefox开发工具(复制XPath)找到它。我曾尝试添加等待例外和切换帧。我曾尝试下面的代码:Selenium C#找不到使用Id,Name或XPath的元素
web.FindElement(By.XPath("//td(@contains='FirstName'))")).SendKeys("Sarah");
这导致
"Message: OpenQA.Selenium.InvalidSelectorException : Given xpath expression "//td(@contains='FirstName'))" is invalid: SyntaxError: The expression is not a legal expression."
当我使用检查元素网页上的输出是这样的:对于
<tr>
<td>First Name:</td>
<td>
<input id="ContentPlaceHolder1_ASPxRoundPane14_txtFirstName" name="ctl00$ContentPlaceHolder1$ASPxRoundPanel4$txtFirstName" type="text">
<br>
<span id="ContentPlaceHolder1_ASPxRoundPanel4_RequiredFieldValidator2" style="color:Red;visibility:hidden;">First Name must be entered</span>
</td>
</tr>
我搜索解决方案但我仍然空着。
如果您从年底.SendKeys()你还得到一个错误? – NiallJG
您是否尝试过使用'web.FindElement(By.Id(“ContentPlaceHolder1_ASPxRoundPane14_txtFirstName”)'?好像这是一个名字值的文本输入框。 – Brydenr
嗯,因为这不是一个合法的表达式,这就是为什么你是 – IamBatman