1

キュウリとカピバラを使用して、次のアウトラインの 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みましたが、そこには何の助けも見つかりませんでした。

助けてください!また、ウェブページを変更することはできません。

4

1 に答える 1