2016-03-02 25 views
0

我遇到的情況,我需要自動化的付款頁面。問題與支付流使用硒的webdriver和Python

我需要輸入信用卡的詳細信息,但事情是當我使用send_keys方法鍵入文本,它不採取完整的卡號,但它只需要前三個字符和最後一個。

這是代碼:

elem = driver.find_element_by_id("checkout_credit_card_number") 
elem.send_keys(str(sys.argv[5]), Keys.ARROW_DOWN) 
elem = driver.find_element_by_id("checkout_credit_card_name") 
elem.send_keys(str(sys.argv[6])) 
elem = driver.find_element_by_id("checkout_credit_card_month") 
elem.send_keys(str(sys.argv[7])) 
elem = driver.find_element_by_id("checkout_credit_card_year") 
elem.send_keys(str(sys.argv[8])) 
elem = driver.find_element_by_id("checkout_credit_card_verification_value") 
elem.send_keys(str(sys.argv[9]), Keys.ARROW_DOWN) 

,我讀了一個解決方案是注入的JavaScript的信用卡號碼,基本上是這樣一個字符串和論證execute_script。所有必須在Python中。

任何想法如何做到這一點?

回答

0
change in to python it should be the same 

public void runScript(Driver driver, String script) { 
     JavascriptExecutor js = null; 
     if (driver instanceof JavascriptExecutor) { 
      js = (JavascriptExecutor) driver; 
      try { 
       logger.info(script); 
       js.executeScript(script); 
      } catch (Exception e) { 
       logger.info(e + " " + script); 
      } 
     } 
    } 
+1

謝謝。 這是我現在使用的 elem = driver.execute_script(「document.getElementById('checkout_credit_card_number')。value + ='」+ sys.argv [5] +「'」); 奇怪的是之前的方法再次開始工作。 – Christian

+0

開心的聽到:) –