2016-11-24 7 views
0

サイトにログインできるテストを作成しています。私はC#とSeleniumを使用しています。
1)パスワードには2つのIDがありますか?なぜ誰かがこのようにコード化するでしょうか?
2)IDには動的な番号が含まれ、ページが読み込まれるたびに変更されます。IDが動的である場合、複数の属性を持つセレンの選択要素

異なるだけが名前IDであるです:

id="txtPassword_155799780_I_CLND" 
    id="txtPassword_155799780_I" 

私はすべてを試してみました。

driver.FindElement(By.XPath(".//div[starts-with(@id,'txtPass') and contains(@text(),'I_CLND')]")); 

    driver.FindElement(By.XPath("//input[starts-with(@id,'txtPassword_')]")[2]); 





<input class="dxeEditArea_DevEx dxeEditAreaSys dxh0" id="txtPassword_156029875_I_CLND" type="text" tabindex="0" saveddisplay="[object Object]"> 

<input class="dxeEditArea_DevEx dxeEditAreaSys dxh0" id="txtPassword_156029875_I" name="txtPassword_156029875" onfocus="ASPx.EGotFocus('txtPassword_156029875')" onblur="ASPx.ELostFocus('txtPassword_156029875')" onchange="ASPx.EValueChanged('txtPassword_156029875')" type="password" saveddisplay="[object Object]" savedspellcheck="[object Object]" spellcheck="false" style="display: none;"> 

おかげ

答えて

1

ご質問の種類のすべての場所です。私はxpathのようなものを試してみようと思います。あなたが2つの "パスワード"要素をページに表示しているのか、それとも1つだけ表示しているのかは分かりません。 htmlを投稿すると、より良いお手伝いをすることができます。

//input[contains(@id, 'txtPassword')][1] 

    or 

    //input[contains(@id, 'txtPassword') and @type='text'] 
+0

htmlを追加していただきありがとうございます。いくつかのオプションを追加しました。 – Dazed

+0

私は自分の質問を編集しました。 –

+0

上記を試してください。もし私たちに何が起こったのか教えてください。 – Dazed

関連する問題