Selenium.PhantomJS是无效的名称空间

时间:2018-09-21 10:50:10

标签: c# selenium selenium-webdriver web-scraping phantomjs

我真的在尽力找到一种方法,使用javascript加载网站来抓取网站,以便抓取例如播放列表。我对chrome驱动程序和phantomjs都不满意。请在下面查看,看看是否可以帮助我解决错误。

using OpenQA.Selenium;
//The type or namespace 'PhantomJS' does not exist in the namespace 'OpenQASelenium'
using OpenQA.Selenium.PhantomJS;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace MusicScaper
{
    class TidalScraper
    {
    }
}

我的packages.config文件如下:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="HtmlAgilityPack" version="1.8.7" targetFramework="net461" />
  <package id="PhantomJS" version="2.1.1" targetFramework="net461" />
  <package id="Selenium.Support" version="3.14.0" targetFramework="net461" />
  <package id="Selenium.WebDriver" version="3.14.0" targetFramework="net461" />
</packages>

2 个答案:

答案 0 :(得分:8)

.NET语言绑定标记了PhantomJS驱动程序类在3.11中已弃用,而这些类在3.14中已删除。 PhantomJS项目及其驱动程序将不再被维护,并且驱动程序代码尚未(也不会)更新为支持W3C WebDriver规范。首选的“无头”解决方案是在无头模式下使用Chrome或Firefox,因为这些浏览器及其驱动程序均支持这种操作模式。另外,如果您对PhantomJS有所了解,并且不关心跨浏览器的执行,则只需使用PhantomJS可执行文件并通过其内部JavaScript API将其自动化即可。

答案 1 :(得分:0)

因此,解决您的问题的简单答案是,在安装Selenium.WebDriver Nuget软件包 时,请确保其版本为3.11.2 ,因为在其中删除了PhantomJS驱动程序类3.14(出现了完全相同的问题),不再维护。

相关问题