Nelson Arruda Posted December 6, 2023 at 04:27 PM Report #632334 Posted December 6, 2023 at 04:27 PM 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.
Ivo Vicente Posted December 6, 2023 at 04:53 PM Report #632336 Posted December 6, 2023 at 04:53 PM 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
Cerzedelo Posted December 7, 2023 at 09:11 AM Report #632338 Posted December 7, 2023 at 09:11 AM 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.
Nelson Arruda Posted December 8, 2023 at 10:44 AM Author Report #632368 Posted December 8, 2023 at 10:44 AM 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.
Cerzedelo Posted December 11, 2023 at 10:27 AM Report #632382 Posted December 11, 2023 at 10:27 AM 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now