0
嗨我在编写自动化测试时点击某些元素时遇到问题。令人沮丧的是,当我单步执行代码时似乎工作正常,但当我在调试中让它通过时,却没有发生。我对硒很新,所以欢迎任何建议。C#Selenium Webdriver单击表格单元格时出错
这是我正在查看的网格/表格。 Grid
这是表格体的HTML。
<tbody>
<tr data-id="471892">
<td class="checkbox"><span class="checkbox" data-id="471892"></span></td>
<td class="left" data-edit="false"><a href="/Contacts/Contact/471892">Contact1, Test</a></td>
<td class="left" data-edit="false"><a href="/Contacts/Account/258144">Dan Test 1</a></td>
<td class="left" data-edit="true" data-editid="280122">Automation Tester</td>
<td class="left" data-edit="true"></td>
<td class="left" data-edit="true">1234567890</td>
<td class="left" data-edit="true">07123456789</td>
<td class="left" data-edit="true" data-fieldid="324" data-dataid="64345" data-filtertype="10">Sherratt, Rachel
<a class="icon edit" id="grid-edit" style="display: none;"></a>
</td>
</tr>
</tbody>
麻烦的是,开发人员补充说,招式基于你在将鼠标哪个小区的每个单元的编辑图标。所以元素不总是存在&无论我尝试它似乎并不工作。
这是我的方法。
public void gridEditText(IJavaScriptExecutor jse, string text, int cell) {
WebDriverWait wait = new WebDriverWait(Browser.getDriver, new TimeSpan(0, 0, 15));
IWebElement clickableElement = wait.Until(Browser.ElementIsClickable(By.XPath("//*[@id='grid-main']/tbody/tr[1]/td[" + cell + "]")));
jse.ExecuteScript("arguments[0].scrollIntoView()", clickableElement);
clickableElement.Click();
//Grid Edit only appears when the mouse hovers over the cell
IWebElement elem = wait.Until(Browser.ElementIsClickable(By.XPath("//*[@id='grid-main']/tbody/tr[1]/td[" + cell + "]/a[@id='grid-edit']")));
String js = "arguments[0].style.display='inline';";
jse.ExecuteScript(js, elem);
elem.Click();
IWebElement gridEditText = wait.Until(Browser.ElementIsClickable(By.XPath("//*[@id='grid-main']/tbody/tr[1]/td[" + cell + "]/input[@id='grid-edit-text']")));
gridEditText.Clear();
IWebElement gridEditText2 = wait.Until(Browser.ElementIsClickable(By.XPath("//*[@id='grid-main']/tbody/tr[1]/td[" + cell + "]/input[@id='grid-edit-text']")));
gridEditText2.SendKeys(text);
}
有什么想法吗? 这是一个错误
An exception of type 'System.InvalidOperationException' occurred in WebDriver.dll but was not handled in user code
Additional information: unknown error: Element <a class="icon edit" id="grid-edit" style="display: inline;"></a> is not clickable at point (1096, 296). Other element would receive the click:" <div class="overlay"></div>
任何人?真的很感谢这个 – RachS
的任何帮助错误信息告诉你什么是错的。有一个'
'这阻止了webdriver点击目标元素。找到覆盖层并确保它被关闭/解散。 – orde