Sha*_*gir 3 c# selenium selenium-webdriver
请在C#中提供脚本代码,以获取以蓝色框标记的元素的文本.我正在使用Selenium Web驱动程序,我想在td标记中获取值:10975.
我尝试了以下代码:
IWebElement tableLocator = divLocator.FindElement(table);
IWebElement tbodyFind = tableLocator.FindElement(tbodytag);
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
wait.Until(ExpectedConditions.ElementIsVisible(trTag));
List<IWebElement> trList = tbodyFind.FindElements(trTag).ToList();
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
wait.Until(ExpectedConditions.ElementIsVisible(tdTag));
//List<IWebElement> tdList = trList[1].FindElements(tdTag).ToList();
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
wait.Until(ExpectedConditions.ElementExists(By.XPath("/html/body/div[2]/section/form/div[2]/div/div/table/tbody/tr[1]/td[3]")));
IWebElement hiddenElem = trList[0].FindElement(By.XPath("/html/body/div[2]/section/form/div[2]/div/div/table/tbody/tr[1]/td[3]"));
Run Code Online (Sandbox Code Playgroud)
Selenium模拟用户操作.如果元素不可见且用户无法读取,则Selenium也无法读取它.为了避免这个问题,我们可以使用这些WebElement属性.
IList<IWebElement> hiddenElements = driver.FindElements(By.CssSelector(".k-master-row > [style=display:none]"));
string text = hiddenElements[1].GetAttribute("textContent");
Run Code Online (Sandbox Code Playgroud)
您应该在列表中有两个隐藏的元素.只需通过索引访问第二个并获取文本.