2012-03-02 4 views
2

C#で簡単なアプリケーションを構築しました。これはgoogle +アカウントへの新しいリンクを投稿していますが、実際のブラウザ自体を開始しています。私はC#、Python、PHP言語、おそらく他のものでも問題ありません。セレンのようなヘッドレスブラウザですが、実際のブラウザは開けません

多くのインタラクションがJSに基づいているので、私は何らかの形でブラウザをエミュレートする必要があるため、C#WebClientクラスは使用できません。

これはセレンのための私のC#コードなので、私は何をしようとしているのか理解できます。

static void Main(string[] args) 
{ 
    IWebDriver driver; 
    FirefoxProfile firefoxProfile = new FirefoxProfile(); 
    driver = new FirefoxDriver(); 
    driver.Navigate().GoToUrl("https://accounts.google.com/ServiceLoginAuth"); 
    driver.FindElement(By.Name("Email")).SendKeys("MYEMAIL"); 
    driver.FindElement(By.Name("Passwd")).SendKeys("MYPASSWORD"); 
    driver.FindElement(By.Name("signIn")).Click(); 
    driver.Navigate().GoToUrl("https://plusone.google.com/_/+1/confirm?hl=en&url=http://site.com/"); 
    System.Threading.Thread.Sleep(10000); 
    driver.FindElement(By.ClassName("e-U-a-fa")).Click(); 
    Console.WriteLine("Done!"); 
    Console.ReadLine(); 
} 

答えて

0

Rubyライブラリcapybara-webkit(https://github.com/thoughtbot/capybara-webkit)または私自身の小さなPythonスクレイピングライブラリdryscrape(これは以前のものに基づいています)の完璧な使用例です。

両方とも、同じC++バックエンドを使用して、QtWebkitに基づいたメモリレスのヘッドレスブラウザを作成します。私はLinux上でしかテストしていませんが、Windows上でコンパイルする必要があります。人々have done it with capybara-webkit、少なくとも。

+0

オーケー、私は、UbuntuのLinux上で明日の感謝をあなたのライブラリーをしようとします。もし私がここで尋ねるいくつかの問題を抱えたらうまくいけば助けてくれるだろう:) – sed

+0

@Qmal:もちろん。あなたがバグに遭遇したり質問があった場合、Githubページに問題を書いた方が良いでしょう。 –

0

ウェブブラウザのwinformsコントロールを使用して、スクリプトを挿入することができます。

1

すでに存在するヘッドレスブラウザプロジェクトがありますが、simplebrowserというjavascriptはサポートされていません。それが受け入れられれば、あなたはそのブラウザプロジェクトを手に入れることができます。そして、あなたはその上でいくつかのカスタム作業を行う必要があります。 C#でIWebDriverインターフェイスを実装するようにブラウザを設定します。すべての休憩を解決します。一度コンパイルすると、IWebdriverを新しいSimpleBrowserにインスタンス化することができます。

IWebDriverドライバ=新しいSimpleBrowser();

私はそれが何らかの仕事ではないと言っているわけではありませんが、C#を使用するフルカスタマイズ可能なヘッドレスブラウザを用意していますが、オープンソースです。ここに、簡単な仲間のための情報源があります。

https://github.com/axefrog/SimpleBrowser

+0

私はそれについて知っています、それは今日、非常に良いプロジェクトと一緒に使用することが簡単でしたが、私はJavaScriptが必要です:( – sed

+0

あなたが持っている唯一の他のオプションは、セレブとHTMLBrowserオブジェクトを使用するが、 jarファイルですが、実際のブラウザをエミュレートしており、100%のjavascriptに基づいているため、javascriptをサポートしているとは言いがたいですが、これはC#でサポートされていません。 – CBRRacer

関連する問題