c# - 我怎样才能显示:none element using Selenium Webdriver c#?

标签 c# selenium selenium-webdriver

enter image description here

请提供 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]"));

最佳答案

Selenium 模拟用户操作。如果元素不可见且用户无法阅读,Selenium 也无法阅读。为了避免这个问题,我们可以使用 WebElement 属性。

IList<IWebElement> hiddenElements = driver.FindElements(By.CssSelector(".k-master-row > [style=display:none]"));
string text = hiddenElements[1].GetAttribute("textContent");

列表中应该有两个隐藏元素。只需按索引访问第二个并获取文本。

关于c# - 我怎样才能显示:none element using Selenium Webdriver c#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35008101/

相关文章:

javascript - PageObjects + 非 Angular 页面 - 如何加入它们?

javascript - 生成随机电子邮件地址后,我希望能够再次使用同一生成的电子邮件地址

python - 爬虫循环点击同一个链接?

java - 通过优先考虑测试功能来逐步测试我的应用程序?

c# - 使用 NUnit 和 NSubstitute 对通用存储库进行单元测试

c# - 将枚举作为字符串存储在数据库中

c# - 有什么方法可以防止使用新 csproj 格式的 .NET 应用程序存在于 bin/debug/net472/AppName 中?

c# - 如何在 C# 库中创建全局对象

dom - 如何使用 Selenium Java 2.8 获取当前的 DOM?

javascript - Selenium 输入文本不会替换所有值