0

次のようなコードを持つhtmlページでいくつかのテストを自動化しようとしています。

<br>
<strong>DOCUMENTS</strong>
<br>
No file found.
<br>
<br>
<strong>OUTGOING-DOCUMENTS</strong>
<br>
<table>
<br>

カテゴリ内のすべてのドキュメントを一覧表示すると、ファイルが存在する場合はテーブルが生成され、存在しない場合は「ファイルが見つかりません」と書き込まれます。

私の質問は、これらのテーブルに一般的にアクセスするにはどうすればよいですか?私が考えた1つのことは、改行を介してそれらにアクセスすることです。ブレークの数は決まっているので、ブレーク5とブレーク6の間をチェックすると、テーブルまたは「ファイルが見つかりません」というメッセージが表示されます。

これを行うための提案はありますか?

4

1 に答える 1

0

解決済み:これが私の問題に固有の解決策です。ソリューション要素は、カスタマイズのために変更される場合があります。find(( "strong:contains('#{options [i]}')+ br + table"))これは、その場所にテーブルがある場合に要素を返します。テーブルがない場合は、例外を処理する必要があります

    begin
      el = find(("strong:contains('#{options[i]}') + br + table"))   
      files = el.all('tr')
      p "#{files.length} files for #{options[i]}"
    rescue Capybara::ElementNotFound
      p "No report for #{options[i]}"
    end
于 2013-03-11T15:03:55.123 に答える