Selenium IDE - Select Google 的自动填充选项

Selenium IDE - Select Googles Autofill Options

我正在尝试编写一个测试,select 是 Google 中的第一个自动完成选项,select 是 "I feel Lucky" link 中的第一个自动完成选项。我的第一个想法是 select 搜索栏,然后滚动到第一个结果并按 Tab 键转到正确的 link。但是我似乎无法将焦点放在搜索栏上。

波纹管是我目前所拥有的: http://i.imgur.com/GytuR2B.png

提前致谢!

看起来 google 使用 href="#ifl" 作为 I feel lucky 的标识符。你可以通过将鼠标悬停在你想使用的任何东西上找到它,右键单击它,然后 select "Inspect element" 而在 google chrome 中。它将调出 hmtl,以便您可以查看实际元素的名称。

public void IFL()
{
        driver.Url = "https://www.google.com/?gws_rd=ssl";
        IWebElement element = driver.FindElement(By.CssSelector("[id*='lst-ib']"));
        element.SendKeys("Hello W");
        Thread.Sleep(1000);
        var luck = driver.FindElements(By.CssSelector("[href*='#ifl']"));
        IWebElement ifl = luck[0];
        Actions action = new Actions(driver);
        action.MoveToElement(ifl).Build().Perform();
        Thread.Sleep(1000);
        ifl.Click();
}

我们select所有"I feel Lucky"元素,然后选择第一个(也就是第一个link),将鼠标移动到那个位置,然后点击。

这不是最简洁的方法,但它应该可以满足您的需要。

编辑:

我看到你现在正在使用 IDE 你应该可以使用 MouseOver href=#ifl 然后点击。

这是我搜索术语 "first" 和 select 第一个下拉选项时想到的。 从 http://google.com

开始
<tr>
    <td>type</td>
    <td>id=lst-ib</td>
    <td>first</td>
</tr>
<tr>
    <td>waitForElementPresent</td>
    <td>//ul[@role='listbox']/li</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>//ul[@role='listbox']/li/div</td>
    <td></td>
</tr>

对我来说,目前没有我感到幸运的选择。但如果有那会很容易。否则你select第一个搜索结果:

<tr>
    <td>click</td>
    <td>//h2[text()='Search Results']/..//ol/div//li//a</td>
    <td></td>
</tr>