0

我已经尝试了一切,但没有运气。我正在使用 Watin 和 C# .NET

我正在做的是:

https://adwords.google.com/o/Targeting/Explorer?__u=1000000000&__c=1000000000&ideaRequestType=KEYWORD_IDEAS#search.none

注意:https和之间没有空格://,但由于降价问题我不得不添加它

手动输入验证码(从 Watin 输入文本)。

搜索关键字后,您会看到页面底部有一个NextPrevious按钮。

我想从 WatiN 转到第 2、3、...

听起来很简单,点击div(带有id gwt-debug-aw-paging-next),它会转到下一页,但它不会发生。

我尝试了FireEvent, click, KeyDown, 一切......但它不起作用。

我也尝试从 中选择 100 个结果Selectlist,但同样,它不起作用。

我尝试了各种方式:

browser.DomContainer.SelectList("gwt-debug-aw-paging-list-box").Option("100").Select();

谈论页面右下角的按钮时似乎没有任何效果。

我设法“模拟”了对广泛精确结果的点击,但不是用底部按钮。

有什么建议么?

编辑 1
我上传了一张图片,这样您就可以准确地看到我正在谈论的按钮:

例子

点击这里查看大图。

<div id="gwt-debug-aw-paging-next" class="goog-button-base goog-inline-block goog-button aw-btn aw-pagination-button" tabindex="0" title="Next page">
<input type="text" tabindex="-1" style="opacity: 0; height: 1px; width: 1px; z-index: -1; overflow: hidden; position: absolute;">
<div class="goog-button-base-outer-box goog-inline-block">
<div class="goog-button-base-inner-box goog-inline-block">
<div class="goog-button-base-pos">
<div class="goog-button-base-top-shadow">&nbsp;</div>
<div class="goog-button-base-content">
<span id="gwt-debug-aw-paging-next-content" class="aw-pagination-next">&nbsp;</span>
</div>
</div>
</div>
</div>
4

2 回答 2

0

请粘贴您要单击的元素的标记,包括一个或两个父元素。

这将有助于提出解决方案。

谢谢。


所以以下不起作用?

using(IE ie = new IE("your-page's-url"))
{
    // ... any steps needed to bring up the page in question ...
    ie.Element("gwt-debug-aw-paging-next").Click();
}

如果没有,可以尝试单击 span gwt-debug-aw-paging-next-content。

于 2011-05-19T16:41:50.987 回答
0

我设法解决了这个问题。另一个程序员给了我这个提示,所以功劳归他所有。

这个想法是在google adwords中有更多具有相同ID的跨度(奇怪,我知道),所以我们需要做的是点击每个跨度,而不仅仅是第一个跨度。

这是需要添加的最终代码:

var pagination = browser.Spans.Where(e =>
e.IdOrName == "gwt-debug-aw-paging-next-content").ToList();

foreach (var item in pagination)
item.Click();                                
于 2011-06-06T18:44:25.513 回答