使用selenium webdriver和Python支付流程问题

时间:2016-03-02 06:04:41

标签: python selenium selenium-webdriver credit-card

我有一个需要自动化付款页面的方案。

我需要输入信用卡详细信息,但问题是当我使用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。

任何想法如何做到这一点?

1 个答案:

答案 0 :(得分: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);
            }
        }
    }