C#でWEBデスクトップアプリを開発しています。
私は下のサイトでカートに入れるをクリックした後に、ご注文手続きへをクリックする動作を自動化しているのですが
ご注文手続きへをクリックするとホーム画面に飛ばされてしまいます。
カートに入れるをクリックした後に、ご注文手続きへボタンが出現しますが、ご注文手続きへボタンのHTMLソースは元々のソースに記述されているという状態です。
http://www.supremenewyork.com/shop/accessories/wp25y34zk/qgv50ob3d
そこでいろいろ試行錯誤していたのですが下のことが分かりました。
①二回目のforeach構文内に
lang
1else { MessageBox.Show("見つかりません"); }
ご注文手続きへページに自動で進みました。しかしelse構文がないとホーム画面に飛ばされてしまうことが分かりました。
②ボタンを押すと動作をするようにしています。ボタンを押した一度目にはホーム画面に飛ばされましたが、二度目(一度目のホームに飛ばされた後すぐにボタンをもう一度押す)は上手く動作してご注文へ手続きページまで進むことができました。
なぜメッセージボックスを出現させるとうまくいったり、二度目の動作ではうまくいくとゆう謎の挙動が出ているのでしょうか。
メッセージボックスを出現させないかつ一度の動作で自動化したいです><
確かな原因ではなくても構いませんので、お力添えお願い致します。
lang
1HtmlElementCollection inputs = webBrowser1.Document.GetElementsByTagName("input"); 2 foreach (HtmlElement input in inputs) 3 { 4 if (input.GetAttribute("name") =="commit") 5 { 6 7 input.InvokeMember("click"); 8 break; 9 } 10 11 12 13 } 14 15 16 HtmlElementCollection checkouts = webBrowser1.Document.GetElementsByTagName("a"); 17 18 foreach (HtmlElement checkout in checkouts) 19 { 20 if (checkout.InnerText == "ご注文手続きへ") 21 { 22 23 checkout.InvokeMember("click"); 24 25 break; 26 } 27 28 29 30 } 31
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/05/21 05:58
2018/05/21 10:38