c# - Selenium.PhantomJS 是无效的命名空间

标签 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>

最佳答案

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

关于c# - Selenium.PhantomJS 是无效的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52442100/

相关文章:

c# - C# 4.0 中用于文件加载的多线程

javascript - 运行 selenium 测试时处理 javaScript 警报?

javascript - 使用 Selenium 时如何禁用 Javascript?

firefox - 如何使用 Java 在 Selenium WebDriver 中设置自动检测代理设置

C#如何识别guest帐号?

C# UDP 服务器异步多客户端 |客户端断开连接时出现 SocketException

c# - 单个请求生命周期的存储介质?

javascript - 未捕获的 DOMException : Blocked a frame with origin "http://localhost:8080" from accessing a cross-origin frame while listing the iframes in page

selenium - 机器人框架: wait until element disappears

python - Python 中的 Selenium Wire 选项