繁体   English   中英

如何使用C#将Web元素值获取为字符串变量

[英]How to get the web element value to a string variable using C#

我需要读取一个元素的输入值,并将其保存到我的C#Windows Form应用程序中的字符串变量中。 可能吗? 这是我找到元素的方法:

IWebElement SearchCounter = Browser.FindElement(By.Id("counter")); 

这是元素的html代码:

<div id="page-content"> 
    <input type="hidden" id="counter" value="355">

如果无法获取该值,如何读取此元素的html源并将其分配给我的应用程序中的字符串变量?

我没有得到任何结果使用此:

string cs = SearchCounter.GetAttribute("innerHtml");                

如果您想获得输入值-您应该使用

string cs = SearchCounter.GetAttribute("value"); 而不是GetAttribute(“ innerHTML”);

如果要检索元素的html源,请使用innerHtml。

Browser.FindElement(By.Id("page-content").GetAttribute("innerHTML")将返回<input type="hidden" id="counter" value="355">和SearchCounter.GetAttribute(“ innerHTML”)将返回输入内部的内容。

祝好运!

要读取value属性的valueGetAttribute应该是您要查找的内容。 例如,要使“挪威”退出该演示页面,您将使用以下代码: https : //www.w3schools.com/Tags/tryit.asp?filename=tryhtml5_input_type_hidden

driver.Navigate().GoToUrl("https://www.w3schools.com/Tags/tryit.asp?filename=tryhtml5_input_type_hidden");
driver.SwitchTo().Frame(driver.FindElement(By.Id("iframeResult")));
var element = driver.FindElement(By.Name("country"));

var value = element.GetAttribute("value");
Console.WriteLine(value);

第二个问题是, driver.PageSource属性为您提供当前页面的HTML。 当然,您将必须自己进行处理。

var source = driver.PageSource;
Console.WriteLine(source);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM