我正在使用多个配置文件,因此想给每个配置文件一个唯一的名称,以便我可以快速识别它们。那么有什么方法可以启动具有自定义配置文件名称的浏览器吗?
这是我现在启动浏览器的方式。
new DriverManager().SetUpDriver(new EdgeConfig());
EdgeOptions options = new EdgeOptions();
options.AddArguments("--disable-gpu");
options.AddArguments("--disable-notifications");
options.AddArguments("enable-strict-powerful-feature-restrictions");
options.AddArguments("disable-geolocation");
options.AddArguments("--start-maximized");
options.AddArgument(@$"user-data-dir=MyDataDirectoryPath");
options.AddArgument(@$"profile-directory=MyProfileDirectory");
options.SetLoggingPreference(LogType.Driver, LogLevel.All);
var driverService = EdgeDriverService.CreateDefaultService(applicattionSettings.Settings.EdgeDriverPath);
driverService.HideCommandPromptWindow = true;
Driver = new EdgeDriver(driverService, options);
当我从上面的代码启动浏览器时,默认配置文件名称是配置文件 1、配置文件 2 等,我想更改它。
注意:对于 chrome 浏览器,我写了一个代码来导航到
chrome://settings/manageProfile
在页面上找到输入字段,并更改名称并且它工作正常。
这是代码。
driver.SwitchTo().NewWindow(WindowType.Tab);
DelayHelper.ActionDelayInSec(1, 1, cancellationToken);
driver.Navigate().GoToUrl("chrome://settings/manageProfile");
IWebElement inputField = (WebElement)driver.ExecuteScript("return document.querySelector('settings-ui').shadowRoot.querySelector('settings-main').shadowRoot.querySelector('settings-basic-page').shadowRoot.querySelector('settings-section > settings-people-page').shadowRoot.querySelector('settings-animated-pages').querySelector('settings-subpage').querySelector('settings-manage-profile').shadowRoot.querySelector('cr-input').shadowRoot.getElementById('input')"); ;
inputField.Clear();
inputField.SendKeys(email);
inputField.SendKeys(Keys.Enter);
我想为 Edge 浏览器实现同样的功能,但问题是 Edge 浏览器在页面上没有直接的输入字段,我必须单击上下文菜单,然后单击编辑图标和打开输入字段的弹出窗口,我试过了这样做,但我认为无法单击上下文菜单。所以我想知道启动浏览器时是否有任何选项可以帮助更改浏览器名称。?
任何帮助将不胜感激,谢谢。