0

我使用硒书写了一个C# pogram。它在Windows上使用时效果很好,但不适用于Rapsberry Pi。 [它没有硒部分]。使用单色的树莓派上的硒(C#)

下面是代码:

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.UnpackAndThrowOnErro找到一组匹配的功能 OpenQA.Selenium.Remote.RemoteWebDriver.Execute(System.String driverCommandToExecute,System.Collections.Generic.Dictionary`2参数)[0x00000]中的[0x00000]:0 [0] [00000] 0 在OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)[0x00000]在:0 在OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor,ICapabilities desiredCapabilities)[0x00000]在:0 在OpenQA .Selenium.Firefox.FirefoxDriver..ctor(OpenQA.Selenium.Firefox.FirefoxDriverService服务,OpenQA.Selenium.Firefox.FirefoxOptions选项,TimeSpan commandTimeout)[0x00000]在:0 at OpenQA.Selenium.Firefox.FirefoxDriver..ctor( OpenQA.Selenium.Firefox.FirefoxOptions选项)[0x00000]:0 位于OpenQA.Selenium.Firefox.FirefoxDriver。 ()[0x00000] in:0 at Dialga.MyBot + c__async8.MoveNext()[0x00000] in:0

+0

猜测你在Pi上的Firefox可执行文件的路径是错误的 –

+0

我怀疑它,但我现在正在尝试以下路径:/usr/share/applications/firefox-esr.desktop – Gami

+0

我仍然得到同样的错误,所以这并没有解决问题。 [再次错误路径?] – Gami

回答

0

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

令人遗憾的是Firefox是在树莓派上慢下来的,所以我把它换成了PhantomJS webdriver。