2016-07-13 7 views
0

ブラウザを自動化しようとしていますが、静的モードのブラウザでxpath経由で要素を見つけようとしていますが、スクリプトを実行すると、要素を見つけることができないというエラーを返します。私が書いたテストを実行中にXpathが期待どおりに動作しない

のxpath:

<form name="f2" onsubmit="return verify();" action="/ATS/cgi-bin/barcap_jobaction.pl" method="post"> 
    <> 
    <input name="jobname" type="hidden" value="soa_b_pbtv_l0_trnkni"/> 
    <input name="jobinstance" type="hidden" value="D03"/> 
    <input name="jobproceed" type="hidden" value="web"/> 
    <td style="background-color: #ffffff;"> 
    <select name="jobaction"> 
+0

これは十分ではありません。というプロパティを持つ要素が2つ以上あります。そのため、入力タグの値を使ってxpathを構築する必要があります。 –

+0

は、それが子要素またはフォームの場合のために私の答えを更新し 'f2' ...それは私がXPathを構築するだけでなく、入力タグからの値を使用していたという理由で、そのため –

+0

に動作します。 「soa_b_pbtv_l0_trnkniは、」ページ –

0

INPUTは隠されているため、標準的なセレンの手段では見つからないでしょう。 Seleniumは、ユーザーが表示して操作できる要素とのみ対話するように設計されています。 JSまたはJQueryを使用しており、隠された要素を無視するようには設計されていないため、ブラウザーでその項目を見つけることができます。これを回避する1つの方法は、JavascriptExecutorを使用することです。これは、基本的に、JSをSeleniumで実行し、隠された要素を見つけることを可能にします。あなたが既に成功したロケータを持っているように聞こえるので、私はJSEでいくつかのチュートリアルを調べることをお勧めします。

JSEの使用中に新しい問題が発生した場合は、新しい質問を投稿してください。お手数ですが、

関連する問題