如何自动化 Google 主页自动建议?

2024-03-11

这是我的测试类,包含所有代码行。我认为问题出在 xpath 中,因为它无法找到元素。

package practice;

import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class selPractice {

public static void main(String[] args) throws InterruptedException
{
    String key="webdriver.chrome.driver";
    String value="./software/chromedriver.exe";
    System.setProperty(key, value);
    WebDriver driver=new ChromeDriver();
    driver.get("https://www.google.com");
    //to automate auto suggestion 

driver.findElement(By.xpath("//input[@title='Search']")).sendKeys("motogp");
List<WebElement>motolist=driver.findElements(By.xpath("//ul[@role='listbox]
//li/descendant::div[@class='sbl1']"));
    Thread.sleep(2000);

    int count=motolist.size();
    System.out.println(count);
    for(WebElement list:motolist)
    {
        String text=list.getText();
        System.out.println(text);
    }
}
}

要提取自动建议来自搜索框 on 谷歌主页 https://www.google.com/你必须诱导WebDriver等待为了所有元素的可见性您可以使用以下解决方案:

  • 代码块:

    import java.util.List;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.chrome.ChromeOptions;
    import org.openqa.selenium.support.ui.ExpectedConditions;
    import org.openqa.selenium.support.ui.WebDriverWait;
    
    public class Google_Auto_Suggestions {
    
        public static void main(String[] args) {
    
            System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
            ChromeOptions options = new ChromeOptions();
            options.addArguments("start-maximized");
            options.addArguments("disable-infobars"); 
            options.addArguments("--disable-extensions"); 
            WebDriver driver = new ChromeDriver(options);
            driver.get("http://www.google.com");
            new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.name("q"))).sendKeys("motogp");
            List<WebElement> motolist = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.xpath("//form[@action='/search' and @role='search']//ul[@role='listbox']//li//span")));
            for(WebElement list:motolist)
            {
                String text=list.getText();
                System.out.println(text);
            }
        }
    }
    
  • 控制台输出:

    Only local connections are allowed.
    Dec 04, 2018 6:14:51 PM org.openqa.selenium.remote.ProtocolHandshake createSession
    INFO: Detected dialect: OSS
    motogp
    motogp 2018
    motogp live
    motogp results
    motogp game
    motogp news
    motogp bikes
    motogp race
    motogp wiki
    motogp schedule
    
  • 浏览器快照:

在这里您可以找到相关讨论Python 硒测试。如何从 Google 主页搜索框中提取自动建议? https://stackoverflow.com/questions/49325855/python-selenium-testing-how-can-i-extract-the-auto-suggestions-from-search-box/49333769#49333769

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何自动化 Google 主页自动建议? 的相关文章

  • Java:如何从转义的 URL 获取文件?

    我收到了一个定位本地文件的 URL 事实上我收到的 URL 不在我的控制范围内 URL 按照 RFC2396 中的定义进行有效转义 如何将其转换为 Java File 对象 有趣的是 URL getFile 方法返回一个字符串 而不是文件
  • OpenCV 中的 Gabor 内核参数

    我必须在我的应用程序中使用 Gabor 过滤器 但我不知道这个 OpenCV 方法参数值 我想对虹膜进行编码 启动 Gabor 过滤器并获取特征 我想对 12 组 Gabor 参数值执行此操作 然后我想计算 Hamming Dystans
  • 如何使用 Java 处理 Selenium WebDriver 中的新窗口?

    这是我的代码 driver findElement By id ImageButton5 click Thread sleep 3000 String winHandleBefore driver getWindowHandle drive
  • JAVA - Xuggler - 组合 MP3 音频文件和 MP4 电影时播放视频

    使用 JAVA 和 Xuggler 以下代码组合 MP3 音频文件和 MP4 电影文件并输出组合的 mp4 文件 我希望在合并音频和视频文件时应自动播放输出视频文件 String inputVideoFilePath in mp4 Stri
  • 如何安全地解决这个 Java 上下文类加载器问题?

    我的数百名用户中只有一位在启动我的 Java 桌面应用程序时遇到问题 他只有大约三分之一的时间开始 另外三分之二的时间在启动时抛出 NullPointerException Exception in thread AWT EventQueu
  • Java 文件上传速度非常慢

    我构建了一个小型服务 它从 Android 设备接收图像并将其保存到 Amazon S3 存储桶中 代码非常简单 但是速度非常慢 事情是这样的 public synchronized static Response postCommentP
  • 画透明圆,外面填充

    我有一个地图视图 我想在其上画一个圆圈以聚焦于给定区域 但我希望圆圈倒转 也就是说 圆的内部不是被填充 而是透明的 其他所有部分都被填充 请参阅这张图片了解我的意思 http i imgur com zxIMZ png 上半部分显示了我可以
  • Java 8 流 - 合并共享相同 ID 的对象集合

    我有一系列发票 class Invoice int month BigDecimal amount 我想合并这些发票 这样我每个月都会收到一张发票 金额是本月发票金额的总和 例如 invoice 1 month 1 amount 1000
  • 如何在 Java 中测试一个类是否正确实现了 Serialized(不仅仅是 Serialized 的实例)

    我正在实现一个可序列化的类 因此它是一个与 RMI 一起使用的值对象 但我需要测试一下 有没有办法轻松做到这一点 澄清 我正在实现该类 因此在类定义中添加 Serialized 很简单 我需要手动序列化 反序列化它以查看它是否有效 我找到了
  • Javafx过滤表视图

    我正在尝试使用文本字段来过滤表视图 我想要一个文本字段 txtSearch 来搜索 nhs 号码 名字 姓氏 和 分类类别 我尝试过在线实施各种解决方案 但没有运气 我对这一切仍然很陌生 所以如果问得不好 我深表歉意 任何帮助将不胜感激 我
  • 有没有一种快速方法可以从 Jar/war 中删除文件,而无需提取 jar 并重新创建它?

    所以我需要从 jar war 文件中删除一个文件 我希望有类似 jar d myjar jar file I donot need txt 的内容 但现在我能看到从 Linux 命令行执行此操作的唯一方法 不使用 WinRAR Winzip
  • 如何知道抛出了哪个异常

    我正在对我们的代码库进行审查 有很多这样的陈述 try doSomething catch Exception e 但我想要一种方法来知道 doSomething 抛出了哪个异常 在 doSomething 的实现中没有 throw 语句
  • 测试弱引用

    在 Java 中测试弱引用的正确方法是什么 我最初的想法是执行以下操作 public class WeakReferenceTest public class Target private String value public Targe
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • HQL Hibernate 内连接

    我怎样才能在 Hibernate 中编写这个 SQL 查询 我想使用 Hibernate 来创建查询 而不是创建数据库 SELECT FROM Employee e INNER JOIN Team t ON e Id team t Id t
  • 将 Azure AD 高级自定义角色与 Spring Security 结合使用以进行基于角色的访问

    我创建了一个演示 Spring Boot 应用程序 我想在其中使用 AD 身份验证和授权 并使用 AD 和 Spring Security 查看 Azure 文档 我执行了以下操作 package com myapp contactdb c
  • javafx android 中的文本字段和组合框问题

    我在简单的 javafx android 应用程序中遇到问题 问题是我使用 gradle javafxmobile plugin 在 netbeans ide 中构建了非常简单的应用程序 其中包含一些文本字段和组合框 我在 android
  • hashcode 的默认实现为以相同方式构造的对象返回不同的值

    我在这里编写一个示例代码 public class Test private int i private int j public Test TODO Auto generated constructor stub public Test
  • 调整添加的绘制组件的大小和奇怪的摆动行为

    这个问题困扰了我好几天 我正在制作一个特殊的绘画程序 我制作了一个 JPanel 并添加了使用 Paint 方法绘制的自定义 jComponent 问题是 每当我调整窗口大小时 所有添加的组件都会 消失 或者只是不绘制 因此我最终会得到一个
  • GUI Java 程序 - 绘图程序

    我一直试图找出我的代码有什么问题 这个想法是创建一个小的 Paint 程序并具有红色 绿色 蓝色和透明按钮 我拥有我能想到的让它工作的一切 但无法弄清楚代码有什么问题 该程序打开 然后立即关闭 import java awt import

随机推荐

  • Android 通知大图像不起作用

    我正在创建这样的通知 Intent intent new Intent this OfferNotification class PendingIntent pIntent PendingIntent getActivity this 0
  • 之间的区别。 git 中的 (点) 和 * (星号) 通配符

    我有一个本地存储库 并试图放弃自上次提交以来的所有更改 git checkout HEAD 命令 一切工作正常 即使更改是在某个子目录中 但是当我添加一些未跟踪的文件 满足中的掩码 gitignore 对存储库的根目录说 Ignored t
  • 测试 POSIX shell 合规性?

    如何测试 shell 脚本以验证它是否符合 POSIX 标准 我有大量为各种版本的 Bash 和可能的其他 shell 编写的脚本 我希望能够确定哪些完全符合 POSIX 标准 哪些不符合 理想情况下 我想找到类似的东西lint但对于 sh
  • virtualenv 和 pyenv 之间有什么关系?

    我最近学习了如何在工作流程中使用 virtualenv 和 virtualenvwrapper 但我在一些指南中看到了 pyenv 但我似乎无法理解 pyenv 是什么以及它与 virtualenv 有何不同 相似 pyenv 是 virt
  • CSS 未应用于 Visual Studio 2012 设计器?

    我有一些 css 当我的 CSS 文件内时 这些 css 不会应用于 Visual Studio 中的设计器 但会在我发布时应用于页面 这个问题大大减慢了网站开发速度 因为我正在尝试学习 CSS 下面是 CSS 的示例 header bac
  • android 获取CountdownTimer上的剩余时间并使用剩余时间作为分数

    所以我这里有测验应用程序和计时器 所以我想要发生什么 例如 我将计时器设置为 15 秒 如果用户在 5 秒内回答问题 我希望 10 秒的剩余时间变成 10 分 它将添加到之前的分数加上您将获得的分数回答问题 所以现在我有这个 if save
  • 使用 firebaserecycleradapter 过滤 recyclerview

    我有一个带有 FirebaseRecyclerAdapter 的 RecyclerView 当用户开始在 SearchView 中输入内容时 我想用名称列表填充 RecyclerView public class SchoolsAdapte
  • Android 到 PC USB 读/写

    我在 PC 上有一个程序 从 USB 接收字符串输入 旧程序 我有一个 Android 4 X 平板电脑 需要向在 PC 上运行的程序提供 USB 上的字符串输入 当我在 Android 上使用示例代码时 以下代码给出了空的哈希图 PC 在
  • 这个“模式”有名字吗?

    我想知道这个 模式 是否有一个名称 其中方法签名称为 TrySomething 例如int TryParse decimal TryParse etc 我的一位同事经常使用这种命名约定 他们不会返回值或抛出异常 而是调用一个方法TryDoS
  • sql Server:按积分总和排名并按排名排序

    我有一个包含以下字段的游戏桌 ID Name Email Points 1 John email protected cdn cgi l email protection 120 2 Test email protected cdn cgi
  • 哪个更快:x<<1 或 x<<10?

    我不想优化任何东西 我发誓 我只是出于好奇而想问这个问题 我知道在大多数硬件上都有位移位的汇编命令 例如shl shr 这是一个单一命令 但移位多少位 从纳秒角度或从 CPU 角度角度 是否重要 换句话说 以下任一选项在任何 CPU 上都更
  • ghc-pkg 检查黑线鳕警告

    全新安装 haskell 平台后 通过homebrew GHC x64 7 6 3 on OSX 10 9 2当我运行时 我收到以下警告ghc pkg check 见下文 Warning haddock interfaces Users u
  • JAXB 解组未知 XML 内容的子集

    我有一个要求unmarshall未知的子集XML内容 对于该未编组的对象 我需要修改一些内容并将相同的 XML 内容 子集 与原始 XML 重新绑定 输入 XML 示例
  • 如何从 C# 解密 ruby​​ 中的 RijandelManaged?

    static byte keyBytes new byte 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 static byte iv new byte 1
  • 为什么指针变量不显示 100 位数字?

    目标 我对准确性有要求 我需要显示 100 位数字或至少 50 位数字 尝试 1 首先我使用了整数变量 然后它只显示 10 位数字 尝试2 在我朋友的帮助下 我使用指针概念 它成功输入了50到100位数字 但指针变量仅显示10位数字 我写的
  • 在rails中执行AJAX Post而不传递authenticity_token

    所以我记得有一次 当我尝试做一篇 AJAX 帖子时 我必须将 form authenticity token 作为数据之一传递给 Rails 由于某种原因 不这样做会产生某种错误 我会立即注销 有没有办法仍然拥有这个真实性令牌用于表单提交但
  • 如何在 htaccess 中启用阿拉伯语 slug?

    我有一个多语言网站 我正在尝试创建一个友好的 URL 在我的数据库中 我有slug场地 当文章的标题是英文时 slug 会出现在 url 中 并且重定向工作正常 但当标题是阿拉伯语时 会出现 slug 并且重定向显示 未找到对象 page
  • 请解释闭包,或将循环计数器绑定到函数范围

    我见过程序员使用计数器在循环内分配事件侦听器 我相信这是语法 for var i 0 i lt someArray length i someArray i onclick function i Some code using i i 有人
  • Material ui 'new' v5.0.0jectFirst 无法设置特异性

    MUI v5 0 0今天发布了 在我的尖峰分支中 我正在尝试更新到新版本 我正在执行 mui docs 中详细的步骤here https mui com guides migration v4 theme 我在用styled compone
  • 如何自动化 Google 主页自动建议?

    这是我的测试类 包含所有代码行 我认为问题出在 xpath 中 因为它无法找到元素 package practice import java util List import org openqa selenium By import or