【问题标题】:How to click chrome extension using selenium webdriver java?如何使用 selenium webdriver java 单击 chrome 扩展?
【发布时间】:2020-09-03 15:04:52
【问题描述】:

我能够通过 CRX 文件加载 chrome 扩展,并使用带有 Chrome 选项的 java 使用 selenium webdriver 成功地将其添加到 chrome,谁能告诉我如何在添加到 chrome 后自动单击扩展。 每次我都必须手动单击扩展程序以进行进一步的自动化过程。

【问题讨论】:

标签: selenium testing automation


【解决方案1】:

不知道你是怎么做的。尝试使用 ChromeOptions 加载扩展程序,它会加载带有扩展程序的浏览器,无需手动单击任何按钮

ChromeOptions options = new ChromeOptions();
//Adding Chrome extension
options.addExtensions(new File("Chrome extension - crx file path"));
options.addArguments("--start-maximized");  
options.addArguments("--test-type");
System.setProperty("webdriver.chrome.driver", "path to/chromedriver.exe");

driver = new ChromeDriver(options);

仅供参考 - Selenium 无法处理操作系统级别的控制。

要处理操作系统级别的控制,您可以使用 AutoIT 或 LDTP。 就我个人而言,我更喜欢 LDTP 进行较小的交互,因为它提供无缝体验并且独立于平台 - https://github.com/ldtp/cobra

你也可以试试 Pywinauto,一个 Python 库。使用 pywinauto,您可以编写代码来处理操作系统级别的控制,并从 Java 代码中调用这个 python 脚本。对于大多数工具,您需要安装它们的可执行文件,但对于 Pywinauto,您只需要安装 Python,它已获准在大多数组织中使用。对于基本的 pywinauto 脚本,您无需学习该语言。 参考https://pywinauto.readthedocs.io/en/latest/

【讨论】:

  • chromeOptions = new ChromeOptions(); chromeOptions.setBinary("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"); chromeOptions.addExtensions(new File(System.getProperty("user.dir") + (Config.getProperty("ExtenstionCRX")))); log.debug("已添加扩展"); chromeOptions.addArguments("auto-select-desktop-capture-source=整个屏幕"); chromeOptions.addArguments("测试类型"); driver = new ChromeDriver(chromeOptions);
  • 谢谢Rohit,但你提到的我已经完成了我需要通过selenium点击扩展图标
  • @UmangMishra 如果您可以发布您尝试点击的内容以及何时/为什么需要点击扩展图标的屏幕截图,将会很有帮助
  • 我解决了我使用了 sikuli,所以在 sikuli 的帮助下,我可以点击网页外的按钮或扩展。
  • 如果它适用的话很好,但考虑到 Sikuli 的缺点,它可能不是明智的选择。
猜你喜欢
  • 1970-01-01
  • 2021-05-05
  • 1970-01-01
  • 2020-03-16
  • 1970-01-01
  • 2014-07-12
  • 2019-01-02
  • 2018-08-24
  • 1970-01-01
相关资源
最近更新 更多