繁体   English   中英

如何使用 Selenium 点击 C# 中的 Chrome 扩展?

[英]How to Click The Chrome Extension in C# Using Selenium?

我可以通过 CRX 文件加载一个名为 Desktopify 的 chrome 扩展,并使用 C# 和 Chrome 选项成功地将其添加到带有 selenium webdriver 的 chrome 中。 我有 2 个问题。

  1. 谁能告诉我添加到 chrome 后如何自动单击扩展程序? 每次我都必须手动单击扩展程序以进行进一步的自动化过程。

  2. 扩展加载到 ChromeDriver 后,如何与扩展中的元素进行交互?

到目前为止,这就是我为问题 1 所做的尝试......

ChromeOptions options = new ChromeOptions();
options.AddExtension(@"D:\Downloads\Desktopify\nlhjgcligpbnjphflfdbmabbmjidnmek.crx");
options.AddArgument("test-type");
System.Environment.SetEnvironmentVariable("webdriver.chrome.driver", @"D:\VisualStudioExpress2017\Projects\MyApp\bin\Debug\chromedriver.exe");
driver = new ChromeDriver(options);

要单击扩展图标,您可以使用它:

IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
js.ExecuteScript("window.postMessage('clicked_browser_action', '*')");

为了使用扩展元素,你应该切换到框架(你可以在 DOM 上看到,扩展是一个带有一些 id 的框架)

driver.SwitchTo().Frame(driver.FindElement(By.id("your_frame_Id")));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM