如何使用另一种方法中的相同ChromeDriver



所以我创建了两个方法,我想使用相同的ChromDriver。我希望第一种方法用ChromeDriver做一些事情;继续";使用相同ChromeDriver的过程。

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,但我不知道如何在硒中做到这一点。。。

您需要在该方法之外创建一个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();

最新更新