我真的在尽力找到一种方法,使用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>
答案 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(出现了完全相同的问题),不再维护。