2

Google+ アカウントに新しいリンクを投稿する単純なアプリケーションを C# で作成しましたが、実際のブラウザ自体を起動しています。私は、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();
}
4

3 に答える 3

2

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

IWebDriverドライバー=newSimpleBrowser();

作業がうまくいかないと言っているわけではありませんが、C#を使用しているが、オープンソースである完全にカスタマイズ可能なヘッドレスブラウザーがあります。これが単純なブラウザのソースです。

https://github.com/axefrog/SimpleBrowser

于 2012-03-02T21:44:45.900 に答える
0

これは、Ruby ライブラリcapybara-webkit(https://github.com/thoughtbot/capybara-webkit) または前者に基づいた私自身の小さな Python スクレイピング ライブラリ、 dryscrapeの完璧なユース ケースのように見えます :)

どちらも同じ C++ バックエンドを使用して、QtWebkit に基づくインメモリのヘッドレス ブラウザを作成します。Linux でしかテストしていませんが、Windows でもコンパイルできるはずです。少なくとも、人々は capybara-webkit でそれを行っています。

于 2012-03-02T21:10:59.523 に答える
0

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

于 2012-03-02T21:07:34.983 に答える