首页 文章

使用Mono(C#)的覆盆子Pi上的Selenium

提问于
浏览
0

我用硒写了一个 C# pogram . 在Windows上使用它时,它的工作性能很好,但在Rapsberry Pi上却没有 . [它没有硒部分工作] .

这是代码:

var options = new FirefoxOptions();
                options.BrowserExecutableLocation = @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe";

//IWebDriver driver = new FirefoxDriver(options);   // WINDOWS VERSION
IWebDriver driver = new FirefoxDriver(); // LINUX VERSION
string xpath = "html/body/div[1]/div/main/div/section/section[2]/div/div[2]/div[1]/div/div/textarea";
string xpathButton = "html/body/div[1]/div/main/div/section/section[2]/div/div[2]/div[1]/div/button";

driver.Url = myurl;
driver.FindElement(By.XPath(xpathButton)).Click();
List<IWebElement> webElems = driver.FindElements(By.XPath(xpath)).ToList();

string comparestring = "";
int comparecounter = 0;

foreach (IWebElement element in webElems)
{
    comparestring = element.Text;
}

我一直在覆盆子pi上得到以下错误:

连接被拒绝

和:OpenQA.Selenium.WebDriverException:无法在OpenQA.Selenium.Remium.RemoteWebDriver的OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(OpenQA.Selenium.Remote.Response errorResponse)[0x00000]中找到一组匹配的功能:0 .Execute(System.String driverCommandToExecute,System.Collections.Generic.Dictionary`2参数)[0x00000] in:0中的OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)[0x00000] in:0,OpenQA.Selenium . Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor,ICapabilities desiredCapabilities)[0x00000] in:0,OpenQA.Selenium.Firefox.FirefoxDriver..ctor(OpenQA.Selenium.Firefox.FirefoxDriverService服务,OpenQA.Selenium.Firefox.FirefoxOptions选项,TimeSpan commandTimeout)[0x00000] in:0:OpenQA.Selenium.Firefox.FirefoxDriver..ctor(OpenQA.Selenium.Firefox.FirefoxOptions options)[0x00000] in:0 at OpenQA.Selenium.Firefox.FirefoxDriver..ctor()[0x00000 ] in:0在Dialga.MyBot c_ _async8.MoveNext()[0x00000] in:0

1 回答

  • 0

    所以我开始工作了 . 它无法正常工作的原因是Firefox和geckodriver版本之间的不匹配 . 我通过下载Firefox 52.2-ESR并使用geckdrover 1.7解决了这个问题 . [硒3.4] .

    可悲的是,Firefox可以减缓树莓派的速度,所以我把它全部换成了PhantomJS webdriver .

相关问题