我有一个需要自动化付款页面的方案。
我需要输入信用卡详细信息,但问题是当我使用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 :(得分: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);
}
}
}