【问题标题】:Selenium IDE - Select Googles Autofill OptionsSelenium IDE - 选择 Google 的自动填充选项
【发布时间】:2015-05-21 19:38:25
【问题描述】:

我正在尝试编写一个测试,选择 Google 中的第一个自动完成选项并选择“我感到幸运”链接。我的第一个想法是选择搜索栏,然后滚动到第一个结果和标签到正确的链接。但是我似乎无法将焦点放在搜索栏上。

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

提前致谢!

【问题讨论】:

  • 请更具体地说明您的需要。请提供您收到的部分代码和/或错误,以改进您的问题。请解释你设置的图片。
  • 目前我的目标是能够使用 selenium IDE 在 Google 中输入一个值,向下滚动并选择显示的自动填充选项之一上的“我感到幸运”链接。例如:i.imgur.com/4v9gRgf.png 但是现在我无法将焦点放在实际的搜索栏上。我尝试了一些类似的东西: focus id =lst-ib keyPress id=lst-ib 40 我没有收到任何错误,测试通过了,只是不会选择结果跨度>

标签: selenium selenium-ide


【解决方案1】:

看起来 google 使用 href="#ifl" 作为 I feel lucky 的标识符。您可以通过将鼠标悬停在您想要使用的任何内容上来找到它,右键单击它并在谷歌浏览器中选择“检查元素”。它将调出 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();
}

我们选择所有“我感到幸运”元素,然后选择第一个(即第一个链接),将鼠标移动到该位置,然后单击。

这不是最干净的方法,但它应该做你需要做的事情。

编辑:

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

【讨论】:

  • 其实this 看起来很接近你想要的。
【解决方案2】:

这是我想出的搜索术语“第一个”并选择第一个下拉选项的方法。 从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>

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多