Skip to content

Commit

Permalink
Added chrome options Instance Method
Browse files Browse the repository at this point in the history
Issue: #11, #10
  • Loading branch information
emre-gon committed Sep 16, 2022
1 parent f9517d5 commit 5bc5b1c
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Uses Sl.Selenium.Extensions, Automatically downloads latest ChromeDriver</Descri
<PackageReadmeFile>README.md</PackageReadmeFile>
<RepositoryUrl>https://github.com/emre-gon/Selenium.WebDriver.UndetectedChromeDriver</RepositoryUrl>
<PackageTags>selenium;automation;chrome</PackageTags>
<Version>2.2.1</Version>
<Version>2.2.2</Version>
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ public static new SlDriver Instance(ChromeDriverParameters args)
return _openDrivers.GetDriver(SlDriverBrowserType.Chrome, args.ProfileName);
}


public override void GoTo(string URL)
{
var webDriverResult = this.ExecuteScript("return navigator.webdriver");
Expand Down Expand Up @@ -173,6 +174,28 @@ public override string DriverName()
return "undetected_" + base.DriverName();
}

public static SlDriver Instance(string ProfileName, ChromeOptions ChromeOptions)
{
var driver = (UndetectedChromeDriver)Instance(ProfileName);
driver.ChromeOptions = ChromeOptions;
return driver;
}


public static SlDriver Instance(string ProfileName, ChromeOptions ChromeOptions, TimeSpan Timeout)
{
ChromeDriverParameters cdp = new ChromeDriverParameters() {
ProfileName = ProfileName,
Timeout = Timeout
};
var driver = (UndetectedChromeDriver)Instance(cdp);
driver.ChromeOptions = ChromeOptions;
return driver;
}


public ChromeOptions ChromeOptions { get; private set; }

protected override OpenQA.Selenium.Chrome.ChromeDriver CreateBaseDriver()
{
var service = OpenQA.Selenium.Chrome.ChromeDriverService.CreateDefaultService(DriversFolderPath(), DriverName());
Expand Down Expand Up @@ -206,32 +229,35 @@ protected override OpenQA.Selenium.Chrome.ChromeDriver CreateBaseDriver()
DriverArguments.Add("--log-level=0");
}

var options = new OpenQA.Selenium.Chrome.ChromeOptions();

if(ChromeOptions == null)
{
ChromeOptions = new ChromeOptions();
}

foreach (var arg in DriverArguments)
{
options.AddArgument(arg);
ChromeOptions.AddArgument(arg);
}



options.AddExcludedArgument("enable-automation");
options.AddAdditionalChromeOption("useAutomationExtension", false);
ChromeOptions.AddExcludedArgument("enable-automation");
ChromeOptions.AddAdditionalChromeOption("useAutomationExtension", false);

foreach (var excluded in ChromeDriverParameters.ExcludedArguments)
{
options.AddExcludedArgument(excluded);
ChromeOptions.AddExcludedArgument(excluded);
}

AddProfileArgumentToBaseDriver(options);
AddProfileArgumentToBaseDriver(ChromeOptions);

if (ChromeDriverParameters.Timeout != default)
{
return new OpenQA.Selenium.Chrome.ChromeDriver(service, options, ChromeDriverParameters.Timeout);
return new OpenQA.Selenium.Chrome.ChromeDriver(service, ChromeOptions, ChromeDriverParameters.Timeout);
}
else
{
return new OpenQA.Selenium.Chrome.ChromeDriver(service, options);
return new OpenQA.Selenium.Chrome.ChromeDriver(service, ChromeOptions);
}
}

Expand Down

0 comments on commit 5bc5b1c

Please sign in to comment.