C#でwebview2を使用して情報を収集するためのサンプルコード。
2021.08.22
今日は日曜日ですね。先日は久しぶりにお天気になったので外へ出ていっておりました。これを投稿する日は晴れているでしょうか。
さてjavaを勉強している合間にC#も勉強しております。javaを勉強しているとC#に応用が効くのでとてもやりやすいですね。webview2というオブジェクトをインストールして使用しました、VC#2019で開発しているのですが既存のwebBrowserというオブジェクトは全然というほど役に立ちません。例えばYahooのトップページを開いたらjavascriptエラーのアラートが表示されたりして動作してくれません。おそらくwebBrowserというオブジェクトを使用して何か開発している人はあまりいないじゃないかなと思います。
今回、作成したサンプルコードはYahoo!ニュースのITニュースのタイトルとリンクを収集するものですが、この方法を応用してブラウザの作業を自動化することはそれ程難しくないと思っています。
サンプルコードの一部を記載します=ボタンをクリックする場所に埋め込んだソースコードになります。因みにawaitを使用しているのでボタンクリックにはasyncしてあげる必要があります。
※注意事項としてYahoo!ニュースのソースコードが変わればそれに対応したコードを記載する必要があります。
PM> Install-Package Microsoft.Web.WebView2 -Version 1.0.902.49
async private void button1_Click(object sender, EventArgs e)
{
var result = await webView21.ExecuteScriptAsync(
"(()=>{let obj = document.querySelectorAll(\"#uamods-topics > div > div > div > ul > li > a\");" +
"let str = \"\";" +
"for (let i = 0; i < obj.length; i++)" +
"{" +
"str += obj[i].innerText + \"[\" + obj[i].href + \"],\";" +
"}" +
"return str;" +
"})();"
);
richTextBox1.Text = result.Replace(",","\n").Replace("\"","");
}
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
2, 2019, IT, java, javascript, VC++, webBrowser, webview, Yahoo, アラート, インストール, エラー, オブジェクト, コード, こと, これ, サンプル, タイトル, ため, ドップ, ニュース, ブラウザ, ページ, もの, リンク, 久しぶり, 人, 今回, 今日, 作成, 作業, 使用, 先日, 勉強, 動作, 収集, 合間, 外, 天気, 役, 応用, 情報, 投稿, 方法, 既存, 日, 日曜日, 自動, 表示, 開発,
VisualStudioC++で昔のような開発環境を整えるには。
2016.12.15
VisualStudioC++で昔のような開発環境を整えるには
オンライン、拡張機能からC++WindowsFormsをダウンロードします。
次にプロジェクト作成時に、オンライン、テンプレートを選択し
先程、インストールしたC++WindowsFormsを選択することで
開発環境のベースが簡単に出来上がります。
あとはゴリゴリコードを書くことにより
アプリが出来ます。
Windows7やWindows Vistaなどで動作するものを
作るとなるとVC++2015の場合、Win32で作成するか
上記のようなCLRで作成するか、はたまたDirectXで開発する
などになると思います・・・。
旧のOSを使っている場合はやはりWin32がベストなんでしょうけど
自分は未だかつて、Win32で開発などをした事がありません。
Win32で開発しているところはあまり今は見かけないような気がします。
WindowsFormsを使用して開発をしている所が主だと、VC++の
利点はC++などが使用可能だということです。
テキストで開発できて後からすべてを組み合わせることが
可能なんですね・・・。下っ端はC++で開発させられてVC++に
触らせてくれないという所もあるかもしれません(経費削減のため)。
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
C++WindowsForms, DirectX, VC++, VC++2015, Visual C++, VisualStudioC, Win32, Windows Vista, Windows7, Windowsプログラミング, オンライン, テキスト, テンプレート, プログラミング学習, 下っ端, 拡張機能, 経費削減, 開発環境,
プログラムのレベル、自己評価。自己嫌悪。自画自賛。
2015.05.01
例えば、ExcelVBAはたぶんソコソコ良い感じだと自分で思っています。Accessも基本VBAがベースなので同じくソコソコ良い感じだと思っています。今ままでVBAで本気を出したことはないけれど恐らく( `д´) ッ!となるレベルです。続いてWEB系のperlですが、これは普通ぐらい・・・ここ数年使ったことがありません。PHPですが、まぁこちらも普通レベルですね。仕事としてまぁ難易度高くなければそつなくこなす程度です。続きましてjqueryとかjavascriptですが大好物です。特にDOMが好きです。むかし凝ってましたが今は、かなり忘れてしまってます。WEB系はCMSをバリバリこなして一人前ですが、ググりゃ何とかいけるレベルです。そつなくこなしている程度です、なので一人前かどうかは分かりません。またまた、続いてソフトウェア系の開発言語にいきまして、Java言語、あまりにもこの言語でコードを書いた事がないので、ググりながらメソッドなどを調べたりライブラリを調べたりしないと言う感じで比較的に難しいです。続いてVB2005以上、こちらはまぁ出来るかなぁぐらいです。続いて続いてVC++ですが、VBが理解できれば応用は効きます。それぐらいの知識です、深くなく浅瀬です・・・・。ここまで書いて読者の皆さんは理解したと思いますが自分は総合的なプログラムレベルは言いませんが・・・昔は自分なんて全然駄目だと感じていたのですが、いろいろな人のコードを見てきた結果、どのレベルに自分がいるかこの頃、見えてきました。あと少しで自分の目標に達成しそうな気がします。あとは時間と努力の問題かなと思ってます(どのぐらい多くコードを書いて自分の身になるかだと思ってます)。
今後、この職業で飯を食うかは分かりませんが、副業としては確実に続けていきます。その方が気楽かなと思っています。
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, ExcelVBA, javascript, Java言語, jquery, perl, VB2005以上, VC++, コード, ソフトウェア系, それぐらい, プログラム, むかし, メソッド, ライブラリ, 一人前, 基本VBA, 浅瀬, 自己嫌悪, 自画自賛, 難易度,