- 1 : 2022/08/25(木) 22:21:49.442 ID:zwjZn4Y30
-
.Net MAUIのWebViewClassにJavaScriptの関数機能使えるやつあったから
それ使ってHTMLの情報を取り出したいんだけど
実行ボタン推してみても{}とかになっちゃうんだよね、、、
一応nullじゃないから取得してるとは思うんだけど何なんだこれは、、、
https://youtu.be/hRZXSCENR_Q - 2 : 2022/08/25(木) 22:23:15.958 ID:6GIqvLv2a
-
見てないけどデバッグしろ
- 3 : 2022/08/25(木) 22:23:53.275 ID:zwjZn4Y30
-
これって{}が出てくるってことはJson形式で出力されるの?
HTML形式がいいんだが、、、 - 4 : 2022/08/25(木) 22:24:31.749 ID:J4sMksAc0
-
Stackoverflowにこの記述量レベルで質問してみて欲しい
- 5 : 2022/08/25(木) 22:26:55.786 ID:cAtc9dJs0
-
スクレイピングするのbingの検索結果だったのかよ
それならそっちのAPI使えばいいだろ - 7 : 2022/08/25(木) 22:29:04.360 ID:zwjZn4Y30
-
>>5
商用販売したいから制限あるAPIはあまり、、、 - 6 : 2022/08/25(木) 22:28:22.074
-
コードは?
- 8 : 2022/08/25(木) 22:29:31.411 ID:zwjZn4Y30
-
全コード載せます
namespace MauiApp1;
public partial class MainPage : ContentPage
{
int count = 0;public MainPage()
{
InitializeComponent();
ii.Source = "https://www.bing.com/";;}
private void txt_Clicked(object sender, EventArgs e)
{
ii.Source=entry.Text;
}private async void html_Clicked(object sender, EventArgs e)
{
string result = await ii.EvaluateJavaScriptAsync($"document.getElementById('b_content')");
textBox.Text = result;
}
} - 9 : 2022/08/25(木) 22:31:49.887
-
それだとdomオプジェクトだからおかしくなるんじゃね?
.innerHtmlでHTML取得すればいいのでは - 10 : 2022/08/25(木) 22:32:55.249 ID:zwjZn4Y30
-
iiってやつがWebViewの名前でentryってやつがリンクを貼り付ける領域
txt_Clickedでentryの中の文字を読み取りiiにソースを渡す
html_ClickedでJavaScriptのメソッドでそのサイトのHTMLを読み取り、textBoxに文字を表示するアプリです - 11 : 2022/08/25(木) 22:35:15.204 ID:zwjZn4Y30
-
private async void html_Clicked(object sender, EventArgs e)
{
string result = await ii.EvaluateJavaScriptAsync($"document.getElementById('b_content').innerHtml");
textBox.Text = result;
}
}
でやってみたけどなにも反応しなくなった、、、 - 12 : 2022/08/25(木) 22:36:21.975 ID:k9v9C0z60
-
単純にそんなidがないんだろうな
- 13 : 2022/08/25(木) 22:36:26.666
-
空文字列になってるんじゃね?
document.body.innerHtmlは取得できるの? - 14 : 2022/08/25(木) 22:38:06.572 ID:zwjZn4Y30
-
なんか別のサイト('b_content'がないサイト)だとnull帰ってくるから動いてはいるんだろうが、、、
中身帰ってこない、、、 - 15 : 2022/08/25(木) 22:40:38.593 ID:zwjZn4Y30
-
document.body.innerHtmlでやってみたけどやっぱり帰ってこないな、、、
bodyにしちゃったからどのサイトでも帰って来なくなった(当たり前だが)
空白文字になっちゃうのかな? - 16 : 2022/08/25(木) 22:41:28.467 ID:zwjZn4Y30
-
HTMLの階層が深いから帰ってこないとかあるの?
- 17 : 2022/08/25(木) 22:44:59.505 ID:zwjZn4Y30
-
Webブラウザがモバイル用のWebブラウザだからかな?
だれかAndoroidのWebViewでこの機能試したことのある人いる? - 19 : 2022/08/25(木) 22:57:05.564 ID:zwjZn4Y30
-
ローカルホストとか関係ないよね?
- 21 : 2022/08/25(木) 23:02:11.799 ID:zwjZn4Y30
-
いまいち翻訳がわからんけどメインクラスにそのメソッドが入ってないからってことなのか?
- 22 : 2022/08/25(木) 23:06:05.313 ID:H3Cuy7g/0
-
よくわからんけどIDEのデバッグ機能とかでwebviewオブジェクトの中身見れたりできんの?
ぬるぽになってないならなんか入ってんだろうけど - 23 : 2022/08/25(木) 23:13:46.361 ID:zwjZn4Y30
-
>>22
なぜかできない… - 24 : 2022/08/25(木) 23:16:34.084 ID:9ol2i14I0
-
なんかjsじゃないのに混じってるとイライラする
- 25 : 2022/08/25(木) 23:17:03.482 ID:k9v9C0z60
-
その問題の解決策ではないけどwebviewからhtmlソース自体はプロパティから取れたりしないの?
htmlソースからjs使わずにhtml parserとかでb_content要素取得するとかどうかな - 28 : 2022/08/25(木) 23:24:05.953 ID:zwjZn4Y30
-
>>25
このWebViewにはそういう関数がないんですわ、、、
この程度の能力しかない
https://docs.microsoft.com/ja-jp/dotnet/maui/user-interface/controls/webview - 31 : 2022/08/25(木) 23:30:02.313 ID:k9v9C0z60
-
>>28
urlをSouceに設定したら暗黙的にUrlWebViewSourceオブジェクトに変換されるってかいてあるからその中にhtml入るんじゃね - 42 : 2022/08/25(木) 23:39:33.918 ID:zwjZn4Y30
- 26 : 2022/08/25(木) 23:17:47.450 ID:9ol2i14I0
-
flutterちゃうんか
- 29 : 2022/08/25(木) 23:26:34.948 ID:zwjZn4Y30
-
>>26
これからの時代は.NET MAUIですぜ? - 27 : 2022/08/25(木) 23:19:19.605 ID:zwjZn4Y30
-
できたわすまん
textBoxにresultを書き込むところでブレークポイント作って確認した
ただなぜかNullになってる
html集めるところでずっと右往左往してるのかもしれん - 30 : 2022/08/25(木) 23:29:36.138
-
まず「"test"」ってスクリプトを実行したらtestって結果が取れるの?
- 32 : 2022/08/25(木) 23:30:51.661 ID:zwjZn4Y30
-
>>30
すまんそれやったことないんだけど教えて?
document.getElement~の部分をtestにするだけ? - 33 : 2022/08/25(木) 23:31:23.456
-
>>32
$"~~~"の部分を"test"にする - 37 : 2022/08/25(木) 23:32:53.547 ID:zwjZn4Y30
-
>>30
まるまるtestに置き換えるとnullが帰ってきますね - 34 : 2022/08/25(木) 23:31:43.895
-
間違えた
- 35 : 2022/08/25(木) 23:32:05.481
-
"'test'"←こう
- 38 : 2022/08/25(木) 23:34:00.610 ID:zwjZn4Y30
-
>>35
シングルコーテーションで囲むと何も帰って来なくなります - 39 : 2022/08/25(木) 23:34:25.704
-
>>35のほうも同じ?
- 36 : 2022/08/25(木) 23:32:20.024 ID:9ol2i14I0
-
なんかjQueryみたいで気持ち悪いな
- 40 : 2022/08/25(木) 23:35:20.683
-
そうなのか
コメント