C#Selenium使用其他用户个人资料启动Chrome
在过去的两天里,我一直在尝试找到一种使用其他配置文件启动Chrome的方法,但无济于事。不管我做什么,Selenium为chrome加载的配置文件始终是一些临时配置文件,例如“
C:\ Users \ DARKBO〜1 \ AppData \ Local \ Temp \ scoped_dir14308_25046 \
Default”
我尝试了以下代码:
ChromeOptions options = new ChromeOptions();options.AddArgument(@"user-data-dir=C:\SeleniumProfiles\Default");
IWebDriver driver = new ChromeDriver();
driver.Navigate().GoToUrl("chrome://version");
首先,我尝试直接从Chrome文件夹中使用配置文件的目录,但没有用。然后,我创建了一个新文件夹并将配置文件移到那里,我尝试在C:\和D:\中都这样做。没什么区别。我试过像现在在代码中一样运行user-
data-dir参数,并在它前面加上-。我试过使用不带@符号的双反斜杠,还是什么也没有。不管我做什么,配置文件目录始终是Selenium临时目录。
PS使用chrome user-data-dir=C:\SeleniumProfiles
命令通过命令提示符创建的当前C:\
SeleniumProfiles目录
PS 2:我的错误很简单,我忘记将选项放在新驱动程序的构造函数中。正如塔伦(Tarun)所说的那样,user-data-
dir仅给Chrome提供包含配置文件的目录,然后我们需要使用profile-directory
参数来给包含所需配置文件的子目录。
回答:
您根本不会使用options对象。
IWebDriver driver = new ChromeDriver();
应该
IWebDriver driver = new ChromeDriver(options);
Chrome的用户数据目录用于存储配置文件。在此目录中,可以维护多个配置文件。有两个参数可以使用
- 用户数据目录
- 配置文件目录
如果仅user-data-directory
指定,则将使用Default
相同目录。如果profile-directory
指定,user-
data-directory则使用内的目录
以上是 C#Selenium使用其他用户个人资料启动Chrome 的全部内容, 来源链接: utcz.com/qa/409366.html