簡體   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