相关疑难解决方法(0)

C#httpwebrequest和javascript

我正在使用C#HttpWebRequest来获取网页的一些数据.问题是在加载页面后使用javascript/ajax更新了一些数据,而我没有在响应字符串中获取它.有没有办法让webrequest等到页面中的所有脚本都已完成执行?

谢谢

阿米特

javascript c# ajax httpwebrequest

19
推荐指数
2
解决办法
4万
查看次数

对于特定站点,Selenium Webdriver + PhantomJS仍为大约:空白

我正在尝试将PhantomJS与Selenium Webdriver一起使用并获得成功,但对于特定的网站,我看到它没有导航到URL.我已经尝试过Python和C#.
Python代码:

dcap = dict(webdriver.DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = ("Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36")
service_args = ['--load-images=false', '--proxy-type=None']
driver = webdriver.PhantomJS(executable_path="C:\\phantomjs.exe", service_args=service_args, desired_capabilities=dcap)
driver.get("https://satoshimines.com")
print driver.current_url
Run Code Online (Sandbox Code Playgroud)

此代码段的输出是:about:blank
然而它适用于任何其他网站.

与C#相同的代码:

IWebDriver driver = new PhantomJSDriver();
driver.Navigate().GoToUrl("https://satoshimines.com");
Console.WriteLine(driver.Url);
Run Code Online (Sandbox Code Playgroud)

C#程序的输出也是一样的.

我被困在这里,需要帮助.

c# python selenium phantomjs

14
推荐指数
3
解决办法
1万
查看次数

C# .NET:抓取动态 (JS) 网站

经过数小时的失败,我来到这里。我需要抓取一个动态生成的网页(使用 Vue.JS 制作,但我不想共享链接)。

我尝试了多种方法(123)。它们都不适用于此网页。

最有前途的解决方案是使用 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由于这个事实。)

在此处输入图片说明

当然,这不应该那么复杂。如何正确操作?

.net c# web-scraping phantomjs selenium-webdriver

5
推荐指数
1
解决办法
7096
查看次数