文字字段填充的其他方法,不要使用send_keys

2024-04-19 20:54:56 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我去了一些网上论坛,但似乎什么都不管用。我试图填写网站上的信用卡字段,但使用时:

send_keys()

它扰乱了数字。有没有什么方法可以像autocomplete那样填充文本框?立即发送整个字符串:

iframe = driver.find_element_by_xpath("//iframe[@name='__privateStripeFrame4']")
driver.switch_to.frame(iframe)
credit_card_text.click()
credit_card_text.send_keys(credit_card)
driver.switch_to.default_content() 

Tags: to方法textsend网站driver数字keys
1条回答
网友
1楼 · 发布于 2024-04-19 20:54:56

你应该使用^{}

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Firefox()
driver.get("http://example.com")
iframe = driver.find_element_by_xpath("//iframe[@name='__privateStripeFrame4']")
driver.switch_to.frame(iframe)
credit_card = 12345678754325
credit_card_text = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="root"]/form/span[2]/label/input')))
credit_card_text.click()
credit_card_text.send_keys(credit_card)

如果不起作用,可以尝试使用execute_script

iframe = driver.find_element_by_xpath("//iframe[@name='__privateStripeFrame4']")
driver.switch_to.frame(iframe)
credit_card = 12345678754325
credit_card_text = driver.find_element_by_xpath(' //*[@id="root"]/form/span[2]/label/input')
driver.execute_script("arguments[0].setAttribute('value', '" + credit_card+"')", credit_card_text)
driver.switch_to.default_content()

希望这有帮助!你知道吗

相关问题 更多 >