[英]C# GeckoFX Browser - How to click/set value to XPath?
我在网站自动化方面遇到问题,我能够确认网站是否包含正在寻找的XPath,但我不知道如何制作程序来设置文本或单击它。
我正在使用Firefox 22.0 / Xulrunner 22.0
我用来验证网站是否包含XPath的代码:
GeckoNode element = gWB.Document.GetSingleElement(x.ToString());
if (element != null)
{
//What here to make program to click/fill XPath?
}
谢谢
要执行单击,请将GeckoNode类型转换为GeckoHtmlElement,然后可以调用click方法。
GeckoHtmlElement element = (GeckoHtmlElement)gWB.Document.GetSingleElement(x.ToString());
if (element != null)
{
element.Click();
}
根据元素的类型,设置值可以有所不同,但是您可以尝试使用诸如NodeValue,TextContent和InnerHtml之类的属性。
如果要使用XPath,可以尝试以下操作:
browser.LoadXml("<MyTag><div>helloworld</div></MyTag>");
var r = browser.Document.EvaluateXPath("//div");
Assert.AreEqual(1, r.GetNodes().Count());
因此在上一个代码中:
GeckoElementCollection nodes = browser.Document.EvaluateXPath(x.ToString()).GetNodes();
foreach(GeckoNode node in nodes)
{
//do whatever you need to do with the node ..
GeckoElement element = node as GeckoElement;
element.click();
//..
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.