ドロップダウン リスト内の各値を自動的に選択し、それぞれの価格をコピーするプログラムがあります。
私が抱えている問題は、私のプログラムが特定の値を選択したにもかかわらず、その特定の値が独自の特定の価格を示さなかったことです。
これは私が使用しているコードです:
foreach (HtmlElement htmlElement in this.webBrowser2.Document.GetElementsByTagName("select")) {
if (htmlElement.OuterHtml.Contains("msku-sel-1")) {
htmlElement.Focus();
// htmlElement.RaiseEvent("onClick");
htmlElement.InvokeMember("Click");
htmlElement.SetAttribute("value", "3");
//webBrowser2.Document.InvokeScript("(a)");
}
}
これは、私が適用している Web サイトのリンクです。
その Web ページには、「ボックス サイズ」を表すドロップダウン リストがあります。
したがって、上記のコードに基づいて、ボックス サイズを強調表示して選択し、値 48 を選択できます。
価格も更新して表示する必要がありますが、表示されませんでした。
ドロップダウン リストを手動でクリックして 48 を選択すると、価格は「US $39.47」になります。
しかし、上記で使用しているコードは値を選択できますが、価格は「US $39.47」に変わりません。
Opera Internet Browser を使用して Web サイトのソース コードをさらに深く掘り下げると、次のコードを含むイベント リスナーがあることに気付きました。
function(a){return typeof f!="undefined"&& (!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b}
これは私が助けを必要としている部分です。私が使用しているコードを再作成していただければ、正しい値が正常に選択されることに気付くでしょうが、価格は更新されないようです。すでに値を選択していますが、価格を更新するにはどうすればよいですか?