问题描述
我能够通过CRX文件加载chrome扩展程序,并使用带有Chrome Options的java使用selenium webdriver成功将其添加到chrome中,有人能告诉我如何在扩展程序添加到chrome后自动点击扩展程序。 每次我必须手动单击扩展名以进行进一步的自动化过程。
解决方法
不确定您的操作方式。尝试使用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无法处理OS级别的控制。
要处理操作系统级别的控件,可以使用AutoIT或LDTP。 我个人更喜欢LDTP进行较小的交互,因为它可以提供无缝的体验并且是独立于平台的-https://github.com/ldtp/cobra
您还可以尝试使用python库Pywinauto。使用pywinauto,您可以编写代码来处理操作系统级别的控制,并从Java代码中调用此python脚本。对于大多数工具,您需要安装其可执行文件,但对于Pywinauto,您只需要安装经批准可在大多数组织中使用的Python。对于基本的pywinauto脚本,您无需学习该语言。 请参阅https://pywinauto.readthedocs.io/en/latest/