相关疑难解决方法(0)

PhantomJS无法打开HTTPS站点

我正在使用以下基于loadspeed.js示例的代码打开一个https://站点,该站点也需要http服务器身份验证.

var page = require('webpage').create(), system = require('system'), t, address;

page.settings.userName = 'myusername';
page.settings.password = 'mypassword';

if (system.args.length === 1) {
    console.log('Usage: scrape.js <some URL>');
    phantom.exit();
} else {
    t = Date.now();
    address = system.args[1];
    page.open(address, function (status) {
        if (status !== 'success') {
            console.log('FAIL to load the address');
        } else {
            t = Date.now() - t;
            console.log('Page title is ' + page.evaluate(function () {
                return document.title;
            }));
            console.log('Loading time ' + t + ' msec');
        }
        phantom.exit();
    });
} …
Run Code Online (Sandbox Code Playgroud)

https screen-scraping phantomjs

103
推荐指数
5
解决办法
7万
查看次数

使用C#抓取javascript生成的网页

我有一个webBrowser,以及Visual Studio中的标签,基本上我要做的是从另一个网页抓取一个部分.

我尝试使用WebClient.DownloadString和WebClient.DownloadFile,在javascript加载内容之前,他们都给了我网页的源代码.我的下一个想法是使用WebBrowser工具,只是在页面加载后调用webBrowser.DocumentText并且不起作用,它仍然提供了页面的原始来源.

有没有办法可以抓住javascriptload后的页面?

这是我试图抓的页面.

http://www.regulations.gov/#!documentDetail;D=APHIS-2013-0013-0083

我需要从该页面获取评论,该页面是生成的.

html javascript c# visual-studio web-scraping

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

如何配置PhantomJSDriver以尽可能地模拟我的Google Chrome浏览器?

以下是我的开发环境的详细信息:

-Visual Studio 2012 Ultimate与更新4

-Google Chrome版本40.0.2214.94 m

-Windows 7 Professional,具有32位操作系统

我的Google Chrome浏览器的用户代理字符串是:

Mozilla/5.0(Windows NT 6.1)AppleWebKit/537.36(KHTML,与Gecko一样)Chrome/40.0.2214.94 Safari/537.36

我的Automated UI测试代码中的C#代码如下:

var options = new PhantomJSOptions();

// Chrome User Agent ( Chrome Version 40.0.2214.94 m ) 
options.AddAdditionalCapability("phantomjs.page.settings.userAgent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36");

driver = new OpenQA.Selenium.PhantomJS.PhantomJSDriver(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"..\..\..\packages\PhantomJS.1.9.8\tools\phantomjs"), options);

url = new Uri("http://localhost:2816/");

IWait<IWebDriver> wait = new OpenQA.Selenium.Support.UI.WebDriverWait(driver, TimeSpan.FromSeconds(90.00));

wait.Until(ExpectedConditions.ElementIsClickable( By.XPath("//a[text()='Users']")));

IWebElement btn = waitArg.Until<IWebElement>((d) => {
 try{ 
 return d.FindElement( By.XPath("//a[text()='Users']") );
 }
 catch {

        return null;
    } …
Run Code Online (Sandbox Code Playgroud)

c# configuration phantomjs selenium-webdriver

4
推荐指数
1
解决办法
6463
查看次数