2017-06-23 397 views
0

我試圖自動化登錄過程。send_keys(Keys.RETURN)提交一個額外的字符(python selenium)

要做到這一點,我在各自的領域使用send_keys(「電子郵件」)和send_keys(「密碼」),像這樣:

email = driver.find_element_by_xpath('//*[@id="email"]') 
email.send_keys('[email protected]') 

pwd = driver.find_element_by_xpath('//*[@id="password"]') 
pwd.send_keys('pwd12345') 

這兩個步驟都成功。現在,我想用「返回」鍵提交登錄憑據,並在登錄要做到這一點,我已經試過:

pwd.send_keys(Keys.RETURN) 

我試圖輸入的密碼是8個字符長。在輸入8個字符後,在提交憑證之前,pwd.send_keys(Keys.RETURN)會在密碼字段JUST中輸入第9個字符,導致「電子郵件地址或密碼不正確」。

我也曾嘗試:

email.send_keys(Keys.RETURN) - 這也將返回「不正確的電子郵件地址或密碼」

pwd.submit() - 這完全清除電子郵件和密碼字段,並且不登錄

(?)

想法?

+0

你可以試試Keys.ENTER嗎? –

+0

Selenium,W​​ebDriver類型(gecko/chrome/ie)類型和版本,瀏覽器類型和版本請。謝謝 – DebanjanB

+0

您的程序在我的機器上完美運行。我能夠成功登錄到PayPal。你可以請再試一次 – Monika

回答

0

你可以試試下面的代碼嗎?

pwd = driver.find_element_by_xpath('//*[@id="password"]') 
ActionChains(driver).send_keys_to_element(pwd,'pwd12345').send_keys_to_element(pwd, Keys.RETURN).perform() 
+0

使用你的代碼完全清除電子郵件和密碼字段,不會以pwd.submit()所做的相同方式登錄。 FWIW,這是一個PayPal登錄表單。安全實施可能會導致這種情況? – pizzaman5000

+0

@ pizzaman5000你可以給我貝寶的網址嗎?我正在測試我的Paypal帳戶,它工作正常。 – Buaban

0

這裏是回答你的問題:

考慮你正在試圖登錄到您的PayPal帳戶與一組有效憑證的以下代碼塊通過所有的3個選項的作品作爲:

  • 使用click()
  • 使用Keys.ENTER
  • 使用Keys.RETURN

說了這麼多,我會建議你考慮輸入任何文字到任何input tag之前,使用click()clear()方法。這裏是工作代碼塊:

driver.get('https://www.paypal.com/in/home'); 
driver.implicitly_wait(20); 
driver.find_element_by_id('ul-btn').click(); 
email = driver.find_element_by_id('email') 
email.click(); 
email.clear(); 
email.send_keys('[email protected]'); 
password = driver.find_element_by_id('password'); 
password.click(); 
password.clear(); 
password.send_keys('dev_anjan'); 

#Using Keys.ENTER 
#password.send_keys(Keys.ENTER); 

#Using Keys.RETURN 
password.send_keys(Keys.RETURN); 

#Using LogIn Button Click 
#login_button = driver.find_element_by_id('btnLogin') 
#login_button.click(); 

讓我知道這個答案您的問題。

0

請嘗試這種方式,它的工作對我來說:

email = driver.find_element_by_xpath('//*[@id="email"]') 
email.send_keys('[email protected]') 

pwd = driver.find_element_by_xpath('//*[@id="password"]') 
pwd.send_keys('pwd12345') 
login_button = driver.find_element_by_xpath('//*[@id="btnLogin"]') 
login_button.click() 

的緊迫insted的你應該做一個正常的人做什麼,然後按下按鈕Log In密碼字段中輸入。