2011-09-01 10 views
0

次のhtmlコードは、製品を追加するためのポップアップを生成します。セレクトボタンをクリックして新しい商品を追加するための「追加」を可能にするxpathまたはcssを見つけることを試みています。次のHTMLスニペットにはxpathまたはCSSが必要

私は、このセッションを1回だけ実行するこのxpath // div [18]/div [2]/div /ボタンを使用しようとしました。ブラウザを閉じて再度開くと、上記のxpathは機能しません。ですから、div [number]を渡す必要のないこのようなxp​​athをdiv [18]と書くことができます。

<div style="height: auto; min-height: 104px; width: auto;" class="dialog ui-dialog-content ui-widget-content"> 
<fieldset><legend>search</legend> 
<div id="nameorids"> 
<input type="radio">name 
<input type="radio">id 
</fieldset> 
<div style="clear: both; padding-top: 5px; float: right;"><button class="add">add</button></div></div> 

答えて

0

まず第一に、このHTMLが有効ではありません。フィールドセットが閉じられる前にnameorids divが閉じられていません。打ち間違え?

HTMLに影響を与えることができる場合は、外側のdivにid属性またはclass属性を追加して、CSSセレクタでそれらをターゲティングできるようにしてください。例えば。あなたは

<div id="foo" ... 

のようなHTMLの外観を作ることができるなら、あなたは、セレクタ#foo button.addを使用することができます。

+0

こんにちはOrip--のおかげでbutton.addされるだろう。残念ながら、私はHTMLコードを変更するためのアクセス権がありません。だから私は識別や属性を割り当てることができません。 – doneright

0

同じノードに対して可能なXPathは多数あります。この場合、クラス「add」を持つ唯一のボタンですか?その場合:

//button[contains(concat(' ', @class, ' '), ' add ')] 

そのボタンが表示されます。 HTMLの抜粋だけではあまり役に立ちません。

ページにアクセスしてChromeブラウザを実行できる場合は、内線番号hereを試してみてください。インストール後にChromeを再起動し、を右クリックしてをクリックし、PsychoXPath -> Element (Short)を選択します。これは、この要素への一意のパスを見つけようとし、それをあなたのクリップボードおよびコンソールにコピーしようとします。

0

CSSがお返事のため

selenium.click("css=button.add"); 
関連する問題