私はselenium web-driverを初めて使いました。単純なログイン自動化を試みています。ここ は、eBayのログインページへのリンクです:ここではhttps://signin.ebay.com/selenium - javaを使用してダイナミックページの要素を見つける方法?
は、ユーザー名の入力ボックスのHTMLコードです:ここで
<input size="40" maxlength="64" name="2045849967" id="2045849967" type="text" autocapitalize="off" autocorrect="off" placeholder="Email or username" class="fld">
はhtmlコードですパスワード入力ボックスの場合:
ここで<input size="40" maxlength="64" name="955270437" id="955270437" type="password" autocapitalize="off" autocorrect="off" placeholder="Password" class="fld">
ユーザ名とパスワードの入力ボックスにのSendKeysにしようと私のコードです:
driver.findElement(By.id("2045849967")).sendKeys("[email protected]");
driver.findElement(By.id("955270437")).sendKeys("somePassword");
問題は、それはだから、私は、これらのIDによって要素を見つけることができないということですページがロード/リフレッシュされるたびに変更されます。 すべてのIDは完全に変更されています。 問題を解決するための選択肢は何ですか? おかげ
UPDATE: 私は、ログインページで「登録」要素を見つけると「タブ」をクリックすることで、ユーザー名ボックスに入るために成功したが、今私は、ユーザー名ボックスにいる時、私はしないでください私は実際にusername要素を持っていないので、私はどのように 'SendKeys'を入れることができるか知っています。今、私はここから続けることができるか
WebElement regElement = driver.findElement(By.id("regTab"));
regElement.sendKeys(Keys.TAB);
:ここ
は、コードのですか? ユーザ名を入力してから[Tab]をもう一度クリックしてパスワードを入力する必要があります。 オプションは何ですか?あなたはどうやらこれら
By.cssSelector("input[placeholder='Email or username']")
By.cssSelector("input[placeholder='Password']")
を使用することができます
CSSやXPathのロケータで試してみてください。 – Grasshopper