如何使用Selenium Webdriver c#显示:无元素?

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)

Guy*_*Guy 6

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)

您应该在列表中有两个隐藏的元素.只需通过索引访问第二个并获取文本.