我试图点击表格中的可点击单元格(单元格有链接),但我甚至无法通过测试自行查找单元格。我可以让iFrame激活,但找不到单元格,即我使用。导航到框架。
IWebElement objecElement = driver.FindElement(By.XPath("//*[@id='AreaID2_iframe']"));
driver.SwitchTo().Frame(objecElement);
但接下来找不到表格单元格
driver.FindElement(By.XPath("//*[@id='lwDataGrid_r_0_c_5']"));
下表中的表格格式如下: -
任何帮助都非常感激。
此致
答案 0 :(得分:0)
尝试使用适当的选择器,即
IWebElement objecElement = driver.FindElement(By.Id("AreaID2_iframe"));
driver.SwitchTo().Frame(objecElement);
var tableRow = driver.FindElements(By.Id("lwDataGrid_r_0_c_5"));
在tableRow
之后设置一个断点并查看它是否找到了元素?
答案 1 :(得分:0)
我认为这是时间问题,您应该尝试使用WebDriverWait
等待表格加载并且欲望元素可见如下: -
IWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
wait.Until(ExpectedConditions.FrameToBeAvailableAndSwitchToIt("AreaID2_iframe"));
IWebElement row = wait.Until(ExpectedConditions.ElementIsVisible(By.Id("lwDataGrid_r_0_c_5")));