皆さん、
StackOverflowを初めて使用しました。よろしくお願いします...
Seleniumを使用して、HTMLページの[今すぐ購入]ボタンをクリックしようとしています。HTMLスニペットは次のとおりです。
</div>
<a href="javascript:void(0)" class="buttonCheckout">Buy Now</a>
<a href="#" class="buttonSoldout">Sold Out</a>
</div>
Selenium IDEを使用して正しいXpathロケーターを取得しましたが、クリックイベントは常に失敗します。
>> chk = "id('yui-gen2')/x:div[3]/x:div/x:a[1]"
=> "id('yui-gen2')/x:div[3]/x:div/x:a[1]"
>> @selenium.get_xpath_count(chk)
=> "1"
>> @selenium.click(chk)
**Error**
>> chk = "xpath = " + chk
=> "xpath = id('yui-gen2')/x:div[3]/x:div/x:a[1]"
>> @selenium.click(chk)
**Error**
The **Error** is:
selenium-client received failure from selenium server:
requested:
cmd=click
1=xpath = id('yui-gen2')/x:div[3]/x:div/x:a[1]
sessionId=d4d6796b3c9749139621cd0cbcde80b2
received:
"ERROR: Element xpath = id('yui-gen2')/x:div[3]/x:div/x:a[1] not found"
called from C:/Ruby187/lib/ruby/1.8/timeout.rb:67:in `timeout'
enium::CommandError: ERROR: Element xpath = id('yui-gen2')/x:div[3]/x:div/x:a[1] not found
@selenium.double_click(chk)
フォーラムで他の提案をいくつか試しました@selenium.fire_event(chk, 'click')
が、同じ要素が見つかりませんというエラーが発生します。
また、上記のすべての種類の順列を試し、他のXpath(、、、)を試しchk = "//a[@class='buttonCheckout']"
ましchk = "/descendant::a[@class='buttonCheckout']"
たchk = "//a[@href='javascript:void(0)']"
。
get_xpath_count
これらすべての場合において、この方法は機能するがclick
常に失敗するため、適切なロケーターを見つけたと思います。
ここに何か提案はありますか?前もって感謝します!