我已经安装了nuget,一个包含firefox驱动程序和selenium的软件包。
WebDriver 3.10.0.0,firefox使用的是58.0.2(x64)
我使用此代码:
public class SeleniumWorker
{
IWebDriver ffBaseDriver = null;
INavigation ffBaseNavigator = null;
string proxy, referer;
public SeleniumWorker(string proxy,string referer)
{
this.proxy = proxy;
this.referer = referer;
if (string.IsNullOrEmpty(proxy))
{
this.ffBaseDriver = new FirefoxDriver();
}
else
{
FirefoxOptions ffOptions = new FirefoxOptions();
ffOptions.Proxy = new Proxy { SocksProxy = proxy };
this.ffBaseDriver = new FirefoxDriver(ffOptions);
}
}
public void DoAction(Object param)
{
this.ffBaseDriver.Navigate();
this.ffBaseNavigator.GoToUrl(this.referer);
}
}
.....
// somewhere in code:
worker = new SeleniumWorker("127.0.0.1:9050","https://google.com");
worker.DoAction();
当在this.ffBaseDriver = new FirefoxDriver(ffOptions);
设置FFoptions时,我得到一个像这样的例外:
InvalidArgumentError: Expected [object Undefined] undefined to be an integer (SessionNotCreated)
堆栈跟踪:
в OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
в OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
в OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
в OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
в OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxOptions options)
в Br30AutoReg.SeleniumReger..ctor(String proxy, String refererd) в C:\Users\pashok\documents\visual studio 2017\Projects\Test\Test\SeleniumWorker.cs:строка 34
в Br30AutoReg.ControlThread.RegistrationLoop(Object obj) в C:\Users\pashok\documents\visual studio 2017\Projects\Test\Test\ControlThread.cs:строка 216
我如何设置socks5代理呢?此外,我有一个问题,我不想创建新的,我可以操纵:从selenium配置,并禁用WEBRtc?