Autor Tópico: Python + Selenium + Firefox  (Lida 4315 vezes)

Offline Morganna Diniz

  • Usuário Ubuntu
  • *
  • Mensagens: 1
    • Ver perfil
Python + Selenium + Firefox
« Online: 29 de Maio de 2022, 00:06 »
Eu sempre usei Python e Selenium com Firefox e Chrome. Nunca tive problemas. Reformatei o HD e instalei o Ubuntu para 22.04 (antes eu usava o Ubuntu 20.04). Agora não consigo mais usar Selenium com Firefox. Uma das suposições era que o Firefox estava agora usando snap. Desinstalei o Firefox com o sbap e instalei com apt-get. Não resolveu o problema. Abaixo o arquivo de teste.

from selenium.webdriver import Firefox
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.by import By
opts = Options()
opts.headless = True
driver = Firefox(options=opts)
driver.get('https://www.python.org')
links = driver.find_elements(By.XPATH, '//a[@href]')
print("Número de links: " + str(len(links)) + "\n")
for link in links:
   print(link.get_attribute('href'))

A execução apresenta o erro abaixo.

Traceback (most recent call last):
  File "/home/morganna/Área de Trabalho/Python_220528/WebScrapping/teste_Selenium_08.py", line 6, in <module>
    driver = Firefox(options=opts)
  File "/home/morganna/.local/lib/python3.10/site-packages/selenium/webdriver/firefox/webdriver.py", line 177, in __init__
    RemoteWebDriver.__init__(
  File "/home/morganna/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 275, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/morganna/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 365, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/morganna/.local/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 430, in execute
    self.error_handler.check_response(response)
  File "/home/morganna/.local/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py", line 247, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: Failed to read marionette port

Se eu mudar de Firefox para Chrome, o script funciona. Eu uso

Mozilla Firefox 100.0.2
Python 3.10.4
geckodriver 0.31.0