Jump to content

Recommended Posts

Posted

Estou a tentar que o meu programa entre no portal das finanças usando o NIF como usuário e a senha. Consigo abrir a pagina no browser do Chrome mas os dados de acesso fornecidos através do programa não passam para  os campo da pagina. Ou seja tenho que introduzir novamente o usuário e a senha no portal.

Alguém tem uma ideia para ajudar. 

Posted

Já viste o tipo de request que tens que fazer? Os headers que tens que passar?

É também importante dares um pouco mais de informação, do que estas a usar para fazer o pedido (bibliotecas), se é uma webview, se estás a fazer um crawler/parser ao site...

 

A pergunta é válida, mas sem mais detalhes não dá para ajudar muito, principalmente porque o site das finanças não dispõem de API pública, tudo terá que ser à base de analisar os pedidos do browser e imitar.

 

Feito é melhor que perfeito

Posted
Em 06/12/2023 às 16:27, Nelson Arruda disse:

Estou a tentar que o meu programa entre no portal das finanças usando o NIF como usuário e a senha. Consigo abrir a pagina no browser do Chrome mas os dados de acesso fornecidos através do programa não passam para  os campo da pagina. Ou seja tenho que introduzir novamente o usuário e a senha no portal.

Alguém tem uma ideia para ajudar.

Já experimentou usar a biblioteca Selenium.

Posted
Em 07/12/2023 às 08:11, Cerzedelo disse:

Já experimentou usar a biblioteca Selenium.

Já usei a Selenium a request, mas ao executar o código abre o browser na pagina, mas à mesma tenho que escolher o método de entrada, neste caso pelo NIF e depois colocar as credenciais.

Posted
Em 08/12/2023 às 10:44, Nelson Arruda disse:

Já usei a Selenium a request, mas ao executar o código abre o browser na pagina, mas à mesma tenho que escolher o método de entrada, neste caso pelo NIF e depois colocar as credenciais.

Ao utilizar o Selenium tem de usar as ferramentas do seu browser para analisar a pagina da AT, para encontrar os elementos que pretende.

Segue um exemplo que lhe permite abrir a página que precisa

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
navegador=webdriver.Firefox()
import time

time.sleep(1)
navegador.get("https://www.acesso.gov.pt/v2/loginForm?partID=PFAP&path=/geral/dashboard")
time.sleep(3)
navegador.find_element(By.XPATH, '/html/body/div[1]/section/div[1]/div/div/label[2]/span').click()

Depois deste exemplo é só completar através do comando send_keys os campos do nif e da senha.

Tenha em atenção que neste exemplo uso o Xpath do caminho da tab do nif, se existirem alterações na página, este xpath também pode ser alterado, e nessa situação terá de alterar o código com o novo xpath, ou pode selecionar o elemento por nome, pelo id ou pela classe.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.