2017-02-16 10 views
1

私はこのサイトhttps://www.componence.com/loginでログインボタンxpathを探そうとしています。録画して再生するだけです。その後、firepathとchromeブラウザのデフォルトのxpathコピーアで取得しようとしました。セレンIDEでダイナミックIDを処理する方法

しかし、送信ボタンxpathがページの読み込みで変更されるたびに、このように見えます。私は "サインイン"ボタンのxpathに続いています。

.//*[@id='yui_patched_v3_11_0_1_1487250469606_202'] 
.//*[@id='yui_patched_v3_11_0_1_1487251369606_202'] 
.//*[@id='yui_patched_v3_11_0_1_1487250229606_202'] 
.//*[@id='yui_patched_v3_11_0_1_1487254369606_202'] 

セレンIDEで使用できる[サインイン]ボタンの正しいxpathを取得する手助けをしてもらえますか?

答えて

2

あなたはダイナミックidを処理するためにXPath下に使用することができます。

//button[starts-with(@id, "yui_patched_v3_11_0_1_")] 

しかし、よりよい解決策は、要素のテキストコンテンツを使用することです:

//button[normalize-space(text())="Sign In"] 
1

私は第二声明に反対する必要があります@ Anderssonは、.comでは動作しますが、.nlでは動作しません。

サイトには第2言語があり、私の意見では、多言語環境のテキストに基づいてセレクタを使用しないようにしています。

また、idのように見えるのは意味のある値ではないようですが、この場合は一意の親セクションを特定してそこから移動してみてください。 CSS/xpathの

1つのオプションは、次のようになります。

CSS:form.sign-in-form button

のxpath://form[contains(@class, 'sign-in-form')]//button

+1

そして、私はあなたに反対することができます:) QAとして、私は思う一つは上の承認を完了したい場合'driver.get(" https://www.componence.com ")を使ってウェブサイトの英語版を作成することはできません。彼は確かにログインページのオランダ語版を入手したくありません。 – Andersson

+1

はい、あなたは正しいですし、翻訳が大丈夫かどうかを確認してください。これは二重チェックになります:) – lauda

関連する問題