我用硒写了一个 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 回答
所以我开始工作了 . 它无法正常工作的原因是Firefox和geckodriver版本之间的不匹配 . 我通过下载Firefox 52.2-ESR并使用geckdrover 1.7解决了这个问题 . [硒3.4] .
可悲的是,Firefox可以减缓树莓派的速度,所以我把它全部换成了PhantomJS webdriver .