2015-07-05 38 views
0

我试图点击包含文本“下一步”的链接。 我用壁虎排版引擎尝试这种代码在C#:如何在C#中使用壁虎浏览器引擎点击锚标记

Gecko.DOM.GeckoLinkElement next = new Gecko.DOM.GeckoLinkElement(geckoWebBrowser1.Document.GetElementsByClassName("single-prev-next")[0].LastChild.DomObject); 

next.Click(); 

下面是该网站的HTML:

<div class="single-prev-next" style="float:right"> 
<span class="picture-of">Photo 3 of 8 </span> 
<div id="prevre"> 
</div> 
<a href="http://website.com/to/150810/4/">Next</a> 
</div> 

这是不工作的。

回答

1

首先,为什么不简单地导航到链接的值? 即browser.Navigate("http://website.com/to/150810/4/");

我不认为它会根据您的页面代码示例做出任何区别,并且会更快更容易。

如果你需要点击虽然... 这不是做到这一点的方式 - 毕竟你并不是真的创建一个新的Link元素。 因此,沿线的东西

GeckoAnchorElement link = (GeckoAnchorElement)browser.Document.GetElementsByClassName("single-prev-next")[0].LastChild; 
link.Click(); 
+0

感谢一群老兄!顺便说一下,我不使用导航的目的是因为导航移除了引用者属性。 – CodyMan

+0

@CodyMan - 确定 - 但是,您可以指定引用者。 geckowebbrowser的.Navigate()方法有一个接受引用字符串的重载。干杯;) – Bartosz

+0

我知道,通过增加会话跳出率的方式 – CodyMan

相关问题