キュウリとカピバラを使用して、次のアウトラインの Web ページをテストしています。
<span> Title 1 </span>
<span> Some text </span>
<div> link Y </div>
<span> Title 2 </span>
<span> Some text </span>
<div> link Y </div>
<span> Title 3 </span>
<span> Some text </span>
<div> link Y </div>
タイトル 2 の下のリンクをクリックしたいのですが、非同期の ajax 呼び出しであることを除いて、すべてのリンクは同じ名前と同じ css を持っているので、ファインダーでそれを使用できますか? また、正確な xpath が機能しないように、タイトルを取得してそのリンクを見つけるヘルパー メソッドを設計したいと考えています。
私がこれまでに試したこと:
within(find("span", :text => title)) do
within(find(:xpath, "../div")) do
click_link 'publish'
end
end
お分かりのように、xpaths は私の得意分野ではありません。
また、ネイティブを使用して capybara:node:element のパスを取得しようとしました:find("span", :text => title).path
それを使用してタイトル スパンの子 nbr を抽出して div を取得することを望んでいますfind(:xpath, "/div[N]"
)。しかし.path
、Web ドライバーでサポートされていないというエラーが表示されます。ページに非同期の ajax 呼び出しが含まれているため、Selenium Web ドライバーを使用しています。
セレンの webdriver 要素も調べて.native
みましたが、そこには何の助けも見つかりませんでした。
助けてください!また、ウェブページを変更することはできません。