
お世話になっております。
Web上で下記のようなHTMLで構成されている
ボタンが2個並んでいます。
<p class="blogButton2">
<a onclick="yblog.makeblog('khovroxakkth'); return false" href="javascript:void(0)">
<span>ブログ開設</span>
</a>
</p>
<p class="blogButton2">
<a onclick="yblog.makeblog('abchasittetemo5963'); return false" href="javascript:void(0)">
<span>ブログ開設</span>
</a>
</p>
上記で違うのは「khovroxakkth」と「abchasittetemo5963」の
部分だけです。
この部分は毎回変わります。
変わりますが前以てわかってはいます。
わかっていますので変数へ代入しておくことは可能です。
例えば変数、「rei1」、「rei2」に代入しておけます。
下のボタン、「rei2」を使ってクリックさせることは
可能でしょうか?
ご教授頂けたら助かります。
よろしくお願い致します。
No.5ベストアンサー
- 回答日時:
完全一致で判定するのではなく、部分一致で判定する。
という方向でしょうかねぇ…。# IndexOf()~の方。
部分一致なので場合によっては誤判定になる可能性は否定できませんけど。
>でも警告が気になる...
if文で判定して真だった場合に実行する内容がなにもない(「emptyステートメント」)けど、本当にそれでいいの?
っていう警告です。(判定する意味がなくなるから。その後にelseで続くなら別ですけども)
# https://msdn.microsoft.com/ja-jp/library/aa66473 …
で、その後のものはブロック文になって、「無条件で」実行されます。
# http://www.atmarkit.co.jp/fdotnet/csharp_abc/csh …
Wr5さま
ありがとうございます。
>本当にそれでいいの?
ちゃんと判定してクリックできてるので
まぁいいか...ってことにします^^;
感謝です。
今後ともよろしくお願いします^^
No.4
- 回答日時:
he.GetAttribute("onclick").ToString()
string.Format("yblog.makeblog('{0}'); return false", rei2)
の両方が同じ値になるかどうか確認されては?
# 大文字/小文字やスペース/タブなども同一である必要がありますけど。
自分で回答しておいてアレですが、GetAttribute()にToString()は要らんかもしれない。
Wr5さま
ありがとうございます。
同じ値になってるようです。
試しにToString()を消してみましたが
これでもダメ...
No.2で私が書いた方法以外では
成功しませんね。
でも警告が気になる...
何でセミコロン入れるだけで成功するのか
ワケわからんですね^^;
No.3
- 回答日時:
>he.Parent
親の属性見に行っているのですから該当するものがないんでしょう。
なので、
>セミコロン消したら警告は消えますがクリックできません
となるでしょうね。
あちらでは解決としてクローズしているようですが。
Wr5さま
ありがとうございます。
あちらで解決...と思いきや、エラー一覧を
表示してなくて後で気付きました^^;
he.Parent.GetAttribute⇒he.GetAttributeへ変更して
セミコロン消してみてもダメでした。
No.2
- 回答日時:
スンマセン。
アホでした。とっくに解決してました。
Wr5さま
ありがとうございます。
お教えいただいた方法だとなぜかクリックできないんです。
HtmlElementCollection hec = webBrowser.Document.GetElementsByTagName("a");
foreach (HtmlElement he in hec)
{
if (he.Parent.GetAttribute("onclick").ToString() == string.Format("yblog.makeblog('{0}'); return false", rei2)) ;
{
he.Focus();
pageStatus = PAGE_STATUS.PAGE_BLOG_OPEN;
he.InvokeMember("click");
}
}
↑こう書くとクリックできますがifのお尻にセミコロン付けてるんで
「CS0642 emptyステートメントが間違っている可能性があります」という
警告が出ます。
セミコロン消したら警告は消えますがクリックできません^^;
どうしたらいいものか...
No.1
- 回答日時:
以前に回答した時の応用ではできないんですか?
http://oshiete.goo.ne.jp/qa/9131922.html
// Aタグのコレクションを取得
HtmlElementCollection hec = webBrowser1.Document.GetElementsByTagName("a");
foreach(HtmlElement he in hec)
{
// onclick属性にrei2の内容の文字列があるか?(-1だと該当する文字列はない)
if(he.GetAttribute("onclick").ToString().IndexOf(rei2) != -1)
{
he.Focus();
he.InvokeMember("click");
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラム言語
-
vba 正規表現について教えてく...
-
vba クリップボードクリアにつ...
-
pythonでのローカルファイルか...
-
if関数とは?
-
今のプログラミング言語
-
ネットワークフォルダの中身を...
-
プログラミングについて
-
画像生成AIのプロンプトの作り...
-
⚠️至急です!⚠️ Yahoo!知恵袋の...
-
自作scratch アニメの商用利用
-
プログラミング言語のバージョ...
-
uwscでPauseキーが押されたら、...
-
Python... 環境設定 初心者です...
-
Geminiフォーム 画像生成で 人...
-
数学、プログラミング、物理、...
-
pip --versionがエラーになる
-
pythonの実行に関する質問
-
OS入ってる機器のソフト・アプ...
-
CSVファイルの複数行削除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダを自動で開く
-
HTML5のことについてなのですが……
-
表示ページによって、aタグ内の...
-
ページ遷移時にアコーディオン...
-
ウィンドウを閉じたら、アラー...
-
jquery(javascript)で分から...
-
VB.NETからWEBブラウザの操作に...
-
chomeでリンク先URLを取得したい
-
自作のJavaScriptを既存のペー...
-
リンク先に飛ぶときに、現在の...
-
Javascriptで複数ページのパス...
-
リンクからPOST送信を、右クリ...
-
ツールバー、アドレスバーなど...
-
C# ブラウザの自動クリック
-
Javascriptのカウントダウンに...
-
JavaScriptの引数について教え...
-
至急お願いします!javascript:...
-
PowerPointで時計表示
-
JSPの処理の途中で、JavaScript...
-
VB.NET2003 テキストボックスに...
おすすめ情報