C#GeckoFX Browser - 如何点击/设置XPath值?

时间:2014-01-22 00:36:27

标签: c# xpath geckofx

我遇到网站自动化问题,我可以确认网站是否包含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?
}

由于

2 个答案:

答案 0 :(得分:1)

要执行单击,将GeckoNode类型转换为GeckoHtmlElement,然后您可以调用click方法。

GeckoHtmlElement element = (GeckoHtmlElement)gWB.Document.GetSingleElement(x.ToString());
if (element != null)
{
    element.Click();        
}

根据元素的类型设置值可能会有所不同,但您可以尝试使用NodeValue,TextContent和InnerHtml等属性。

答案 1 :(得分:0)

如果您想使用XPath,可以试试这个:

  select name from
   (
   select name, count(name) as countval from
    (
    select p.name from port p 
    inner join shipment s on p.id =s.departure_port_id
    )
   group by name
    order by countval desc
        ) A 
      where countval=(select max(countval) from A));

所以在prev代码中:

browser.LoadXml("<MyTag><div>helloworld</div></MyTag>");

var r = browser.Document.EvaluateXPath("//div");
Assert.AreEqual(1, r.GetNodes().Count());