C# 如何使用其他方法中的同一个ChromeDriver
所以我创建了两个方法,我想使用相同的驱动程序。我希望第一种方法使用ChromeDriver做一些事情,第二种方法使用相同的ChromeDriver“继续”这个过程C# 如何使用其他方法中的同一个ChromeDriver,c#,selenium,C#,Selenium,所以我创建了两个方法,我想使用相同的驱动程序。我希望第一种方法使用ChromeDriver做一些事情,第二种方法使用相同的ChromeDriver“继续”这个过程 static void FirstDriver() { IWebDriver Driver1 = new ChromeDriver(); Driver1.Navigate().GoToUrl("login page"); //login to the page } static void SecondDriver
static void FirstDriver()
{
IWebDriver Driver1 = new ChromeDriver();
Driver1.Navigate().GoToUrl("login page");
//login to the page
}
static void SecondDriver()
{
IWebDriver Driver2 = new ChromeDriver();
Driver2.Navigate().GoToUrl("login page");
//continue while still loged-in
}
我知道另一种解决方案是从Driver1获取cookie并将其用于Driver2,但我不知道如何在selenium中做到这一点…您需要使用该方法创建一个Chrome驱动程序对象,以便它可以在多个位置使用。
像这样的东西应该可以帮助你开始
public static IWebDriver Driver { get; set; }
static void Main(string[] args)
{
Driver = new ChromeDriver();
// Both should use the same driver object.
FirstDriver();
SecondDriver();
}
static void FirstDriver()
{
Driver.Navigate().GoToUrl("login page");
//login to the page
}
static void SecondDriver()
{
Driver.Navigate().GoToUrl("login page");
//continue while still loged-in
}
在类下,将驱动程序定义为全局变量并使用它
**static WebDriver driver;**
driver = new ChromeDriver();
声明变量的位置决定了变量的作用域。因此,当您在一个方法中本地声明它时,它就是可用的。