Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Selenium Webdriver c#获得display:none元素?_C#_Selenium_Selenium Webdriver - Fatal编程技术网

如何使用Selenium Webdriver c#获得display:none元素?

如何使用Selenium Webdriver c#获得display:none元素?,c#,selenium,selenium-webdriver,C#,Selenium,Selenium Webdriver,请提供C#中的脚本代码,以获取在蓝色框中标记的元素的文本。我使用的是Selenium Web驱动程序,我希望在td标记中获得值:10975 我尝试了以下代码: IWebElement tableLocator = divLocator.FindElement(table); IWebElement tbodyFind = tableLocator.FindElement(tbodytag); driver.Manage().Timeouts(

请提供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]"));
IWebElement tableLocator=divLocator.FindElement(表格);
IWebElement tbodyFind=tableLocator.FindElement(tbodytag);
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
wait.Until(ExpectedConditions.ElementIsVisible(trTag));
List trList=tbodyFind.FindElements(trTag.ToList();
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(10));
wait.Until(ExpectedConditions.ElementIsVisible(tdTag));
//List tdList=trList[1]。FindElements(tdTag).ToList();
IJavaScriptExecutor js=驱动程序作为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");
IList hiddenElements=driver.FindElements(By.CssSelector(“.k-master-row>[style=display:none]”);
字符串text=hiddenElements[1]。GetAttribute(“textContent”);

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

请将代码作为文本而不是图像发布。如何获取声明为display:none的元素?54 10975I已获取列表中的所有td,但无法找到隐藏元素。我也尝试过xpath@guy将您尝试过的内容添加到您的问题中,包括您编写的代码,这样会更容易帮助您