Pop-Up de impressão do Chrome, como fechá-la?

268 views
Skip to first unread message

Arthur Ésse

unread,
Oct 8, 2022, 11:23:42 PM10/8/22
to Selenium Brasil
Boa noite a todos. Comecei a estudar python, e deparei com as funcionalidades de webscraping para facilitar alguns trabalhos rotineiros, porém estou encontrando umas dificuldades, agora estarei postando uma, para, com sorte, alguém possa me esclarecer.

Ambientação do problemas, eu baixo alguns arquivos que são PDF com tabelas, tabelas essas que estarei fazendo extracção de dados. Pois bem, com o Selenium Webdriver eu abro esses PDF com o navegador do google Chrome. Porém, sempre que o arquivo é aberto, a janela do pop-up de impressão aparece, e não estou conseguindo fechá-la.

O que fiz até o momento tentei alternar para a window da impressão e fechar pelo botão do cancel.
Eis o código até o momento
import time
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.support.ui import Select
from selenium.webdriver.chrome.service import Service

serviço = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=serviço)

driver.get("file:///C:/Users/Arthur%20Xavier/Desktop/freq.html")

abas = []
for aba in range(len(driver.window_handles)):
    abas.append(driver.window_handles[aba])
driver.switch_to.window(abas[-1])

a partir desse ponto já tentei usar find.elemente(By.XPATH... e outros
tentei também algo de Action Keys para tentar usar ESCAPE, porém sem sucesso tbm.

Alguém tem alguma luz? Desde de já agradeço a atenção.

Patrick Bressan Bremm

unread,
Oct 9, 2022, 7:13:21 PM10/9/22
to Selenium Brasil

Boa noite,

Minha sugestão é usar o AutoItX para interagir com o popup.

Referência:

Uma coisa tbm que eu tentaria usar pra tentar deixar simples seria usar as teclas do teclado usando TAB até chegar a seleção do botão de fechar e pressionar ENTER.

Usando o Keys.TAB

Atenciosamente 
Patrick Bremm

Patrick Bressan Bremm

unread,
Oct 9, 2022, 7:15:03 PM10/9/22
to Selenium Brasil
Faltou eu colocar um exemplo usando Keys:

driver.switchTo().window(driver.getWindowHandles().toArray()[1].toString()); WebElement webElement = driver.findElement(By.tagName("body")); webElement.sendKeys(Keys.TAB); webElement.sendKeys(Keys.ENTER); driver.switchTo().window(driver.getWindowHandles().toArray()[0].toString());

Arthur Ésse

unread,
Oct 10, 2022, 3:26:31 PM10/10/22
to Patrick Bressan Bremm, Selenium Brasil
Respondi no lugar errado, no privado. hhahaha tô aprendendo a usar tudo isso aquil.
Então, está funcionando assim até o momento utilizando as Keys.
O código roda e me abre um arquivo que estarei fazendo scrap, quando o arquivo é aberto, ele já abre com a tela de impressão, Conforme a imagem 1.
Continuo a rodar o código até a parte do Keys.TAB. Aparentemente o foco migra do botão imprimir para o botão Cancelar, como na imagem 2.
A partir desse ponto, tentei rodar a Keys.ENTER e quando faço isso, ele me retorna a tela de salvar o PDF como na imagem 3 (pq aqui está por padrão o salva pois não disponho de impressora)
Eu tentei ao no lugar do ENTER, usar ESCAPE ou SPACE, porém não vejo nada acontecer.

--
Visite em https://groups.google.com/d/forum/selenium-brasil
---
Você recebeu essa mensagem porque está inscrito no grupo "Selenium Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para selenium-bras...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/selenium-brasil/16b7d70c-3030-47a0-8fdd-023be1c2691bn%40googlegroups.com.
imagem 1.jpg
imagem 2.jpg
imagem 3.jpg

Patrick Bressan Bremm

unread,
Oct 10, 2022, 5:27:52 PM10/10/22
to Arthur Ésse, Selenium Brasil
Olhando a imagem 2 parece que o foco continua no Imprimir, por isso abre a tela de salvar...

Acho que vale estudar o https://www.autoitscript.com/site/autoit/. Me parece melhor caminho
Aqui tem varios exemplos que podem resolver o problema inclusive usando o AutoIt:

Arthur Ésse

unread,
Oct 10, 2022, 5:46:39 PM10/10/22
to Patrick Bressan Bremm, Selenium Brasil
Eu que fui um cabeçudo e salvei a mesma imagem duas vezes. O foco vai para o "cancelar".
Estarei pesquisando sobre esse tópico que você indicou.
Reply all
Reply to author
Forward
0 new messages