我正在尝试为浏览器自动测试套件和能够抓取的无头浏览器平台列出可能的解决方案列表.
浏览器测试/清除:
JAVASCRIPT
Node.js的
经过数小时的失败,我来到这里。我需要抓取一个动态生成的网页(使用 Vue.JS 制作,但我不想共享链接)。
最有前途的解决方案是使用 Selenium 和 PhantomJS。我像这样尝试过,但我不确定为什么它甚至不适用于 Google:
private void button1_Click(object sender, EventArgs e) {
PhantomJSDriverService service = PhantomJSDriverService.CreateDefaultService();
service.IgnoreSslErrors = true;
service.LoadImages = false;
service.ProxyType = "none";
var driver = new PhantomJSDriver(service); // I also tried: new PhantomJSDriver();
driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(10);
driver.Url = "https://google.com";
driver.Navigate();
var source = driver.PageSource;
textBox1.AppendText(source);
}
Run Code Online (Sandbox Code Playgroud)
不工作:
我也尝试过使用 WebBrowser Control,但页面从未完全加载:
(编辑:我发现 WebBrowser 只是实例化 IE,在尝试在独立的 IE 浏览器中打开目标网站后,网页也永远不会完全加载,所以在 WebView 中看到相同的行为是有意义的。我想我绑定了 Selenium&PhantomJS由于这个事实。)
当然,这不应该那么复杂。如何正确操作?