2016-04-23 27 views
0

ワンタイムパスワード(OTP)によるモバイル番号検証のスクリプトを書いています。 OTPのポップアップが開いている間、私はテキストフィールドに値を入れることができません、システムがエラーを示している:以下要素を見つけることができません:org.openqa.selenium.NoSuchElementException

org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"class name","selector":"opt_success"} Command duration or timeout: 30.04 seconds"

私が起草したコードです。

driver.findElement(By.id("phone")).sendKeys(Constants.MOBILE_NUMBER); 
     driver.findElement(By.id("btn_verify")).click(); 
     driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 
     WebElement otp_value = driver.findElement(By.id("otp")); 
     otp_value.sendKeys("1212121212"); 
     driver.findElement(By.xpath("html/body/div[4]/div/form/div/div[4]/span[1]/input")).click(); 

ウェブページのURLは次のとおりです。http://talentrack.in/register

+2

問題のコードからエラーが発生していません。 'findElement(by.className(" opt_success "))'を呼び出す行を表示できますか? – Buaban

+0

ブババンは正しいです。表示されたコードでは、表示されたエラーが発生することはありません。あなたが持っているより多くのコードがあります。ありがとう。 – alecxe

答えて

0

You need to correct your Xpath for "OTP text field" as below.

driver.findElement(By.xpath("//*[@id='verifyOTP_register']//*[@id='otp']")).sendKeys("1212121212"); 

また、あなたの代わりに '絶対' XPathを使用してのSubmitボタンのための '相対的' XPathを使用することができます。

driver.findElement(By.xpath("//*[@id='verifyOTP_register']//*[@type='submit']")).click(); 
+0

本当に役に立ちましたし、うまくいきました!ありがとうSrikanth –

0
WebElement otp_value = driver.findElement(By.id("otp")); 

これは、ここにあなたの問題です。このページには、idが "otp"の2つの要素があります。あなたは隠されている最初のものを探していますが、2番目のものが必要です。

WebDriverWaitを使用して表示要素を見つけることができます。私はそうのようなPythonでこれをしなかった:

element = WebDriverWait(driver, 0).until(EC.presence_of_element_located((By.ID, "otp"))) 
return element 

WebDriverWaitに渡され、0のタイムアウトはそれだけで試してみて、要素を一時間を見つけることを意味します。これを行うメソッドを作成し、再利用性を容易にするためにタイムアウトパラメータを渡すことができます。

私はこれに相当するJavaがあると確信しています。 また、エレメントに固有の別のロケーターを使用することもできます。

+1

'find_visible_element'?あなたはこのメソッドがpython-seleniumにあると確信していますか? :) – alecxe

+0

@alecxeあなたが正しいです、それは自分で作った方法でした。私は答えを修正しましたが、私はBuabanのコメントがコードが表示されていないと言っていることに気付きました。だから私はこれが正解ではないと思います。 – RemcoW

関連する問題