我試圖在面板(或表格,我不確定)的頁面上找到元素。使用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