繁体   English   中英

C#GeckoFX浏览器-如何单击/设置XPath的值?

[英]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.

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