0

C#我用硒写了一个程序。在 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;
}

我在树莓派上不断收到以下错误:

拒绝连接

和:OpenQA.Selenium.WebDriverException:无法在 OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError (OpenQA.Selenium.Remote.Response errorResponse) [0x00000] 在 OpenQA.Selenium.Remote.RemoteWebDriver 中找到一组匹配的功能.Execute(System.String driverCommandToExecute,System.Collections.Generic.Dictionary`2 参数)[0x00000] 在:0 在 OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)[0x00000] 在:0 在 OpenQA.Selenium。 Remote.RemoteWebDriver..ctor (ICommandExecutor commandExecutor, ICapabilities desiredCapabilities) [0x00000] in :0 at 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 at Dialga.MyBot+c__async8.MoveNext () [ 0x00000] 在 :0

4

1 回答 1

0

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

可悲的是,Firefox 是在树莓派上放慢速度的方式,所以我把它全部换成了 PhantomJS 网络驱动程序。

于 2017-07-07T05:13:14.587 回答