gpt4 book ai didi

python - 使用 Selenium 或请求填写表格

转载 作者:太空狗 更新时间:2023-10-30 00:01:15 25 4
gpt4 key购买 nike

我正在尝试输入 this site要检索我的银行帐户,首先我尝试使用 selenium,但只填写了用户名(可能是因为它有 2 种形式):

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("https://www.santandertotta.pt/pt_PT/Particulares.html")
user = driver.find_element_by_name("usr")
user.send_keys("user")
pas = driver.find_element_by_name("claveConsultiva")
pas.send_keys("password")
login = driver.find_element_by_id("login_button").click()

然后,我进入了 rambo 模式 :) 试图找出为什么我不能填充密码空间,以及使用请求的表单的隐藏值是什么,这是代码:

url = "https://www.particulares.santandertotta.pt/pagina/indice/0,,276_1_2,00.html"     
user_agent = {"user-agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/..."}
session = requests.session()
r = session.get(url)
soup = BeautifulSoup(r.text, "html.parser")
data = {t['name']:t.get('value') for t in soup.find_all('input', attrs={'type': 'hidden'})}
print(data)

但是刚刚收到一个空的字典。通过登录和抓取进入网站的最佳方法是什么?

最佳答案

您无法访问密码字段,因为它不在主页上。要处理密码字段,您必须单击登录按钮才能进入登录页面。您还需要切换到包含身份验证表单的 iframe

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

driver.get("https://www.santandertotta.pt/pt_PT/Particulares.html")
driver.find_element_by_xpath("//input[@title='Login de Particulares']").click()
wait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it("ws"))
user = driver.find_element_by_name("identificacionUsuario")
user.send_keys("user")
pas = driver.find_element_by_name("claveConsultiva")
pas.send_keys("password")
pas.submit()

关于python - 使用 Selenium 或请求填写表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49848175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com