C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: WebView2 画像クリックについて。


(過去ログ 176 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■101126 / inTopicNo.1)  WebView2 画像クリックについて。
  
□投稿者/ sendmsg (5回)-(2023/01/07(Sat) 20:22:21)

分類:[C#] 

[C#]WebBrowserで,指定されたalt属性を持つタグを自動クリックする。

private void button1_Click( object sender, EventArgs e ) {
bool isSuccess = clickTagByAltStartsWith( "img", "検索" );
if ( !isSuccess ) {
MessageBox.Show( "対象の画像が存在しませんでした。" );
return;
}

MessageBox.Show( "検索をクリックしました" );
}

private bool clickTagByAltStartsWith( string tagName, string keyString ) {
HtmlElementCollection tagList;
IHTMLElement targetTag = null; // 検索対象のタグ(Microsoft HTML Object Libraryの参照設定が必要)

tagList = browser.Document.GetElementsByTagName( tagName );
foreach( HtmlElement tag in tagList ) {
IHTMLElement tagDomEle = tag.DomElement as IHTMLElement;
object altText = tagDomEle.getAttribute( "alt" );
if ( tagDomEle == null || altText == null || !altText.ToString().StartsWith( keyString ) ) {
continue;
}

// 見つけたタグをセットして、探索終了
targetTag = tagDomEle;
break;
}
if ( targetTag == null ) {
// 条件に一致するタグが無かった...
return false;
}

//--------------------------------
// 見つけたタグをクリックする
//--------------------------------
targetTag.click();
waitForResponse();

return true;
}

引用 http://nanoappli.com/blog/archives/2189

webbrowserで上記の処理を見たのですが
まったく同じ作業をWebView2でも実証可能でしょうか?

<input type="image" tabindex="3" src="/image/test.gif" width="10" height="30" alt="Test">

理想はこれを利用できるのならば嬉しいのですが。。


引用返信 編集キー/
■101130 / inTopicNo.2)  Re[1]: WebView2 画像クリックについて。
□投稿者/ Hongliang (1262回)-(2023/01/07(Sat) 21:44:27)
2023/01/07(Sat) 21:45:46 編集(投稿者)

WebView2では基本的にHTMLへのアクセスはすべてJavaScriptで行います。
なのでそのままでは動きません。
同じ動きをするJavaScriptに書き換える必要があります。
もっとも、DocumentのquerySelectorメソッド1つで「特定の属性が特定の値から始まる属性値を持つ特定要素を探し出す」は実現できますが。

// waitForResponse()というのは正体が分からないのでコメントできません。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -