Usando um Profile no google chrome

2,037 views
Skip to first unread message

Pedro Barros

unread,
Jul 10, 2022, 1:31:41 AM7/10/22
to Selenium Brasil
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By

path_to_chromedriver ='C:/Users/Pedro/PycharmProjects/pythonProject/chromedriver.exe'
path_to_profile = 'C:/Users/Pedro/PycharmProjects/pythonProject/profile'

option = Options()
option.add_argument("user-data-dir="+path_to_profile)

driver = webdriver.Chrome(path_to_chromedriver, options=option)
driver.get('www.google.com')

Estou tentando fazer o selenium executar um perfil para que ele possa manter as informações no navegador quando fechar, o navegador abre e até o .get ele funciona, e vai até a página, porém logo depois ele da esse erro e eu não consigo mais interagir com o driver:
como posso arrumar isso:?

C:\Users\Pedro\PycharmProjects\pythonProject\main.py:12: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
  driver = webdriver.Chrome(path_to_chromedriver, options=option)
Traceback (most recent call last):
  File "C:\Users\Pedro\PycharmProjects\pythonProject\main.py", line 12, in <module>
    driver = webdriver.Chrome(path_to_chromedriver, options=option)
  File "C:\Users\Pedro\Pycharm\pythonProject\venv\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 69, in __init__
    super().__init__(DesiredCapabilities.CHROME['browserName'], "goog",
  File "C:\Users\Pedro\Pycharm\pythonProject\venv\lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 92, in __init__
    super().__init__(
  File "C:\Users\Pedro\Pycharm\pythonProject\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 277, in __init__
    self.start_session(capabilities, browser_profile)
  File "C:\Users\Pedro\Pycharm\pythonProject\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 370, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:\Users\Pedro\Pycharm\pythonProject\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 435, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Pedro\Pycharm\pythonProject\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: user data directory is already in use, please specify a unique value for --user-data-dir argument, or don't use --user-data-dir
Stacktrace:
Backtrace:
    Ordinal0 [0x00A56463+2188387]
    Ordinal0 [0x009EE461+1762401]
    Ordinal0 [0x00903D78+802168]
    Ordinal0 [0x00921BC2+924610]
    Ordinal0 [0x0091E331+910129]
    Ordinal0 [0x00951430+1119280]
    Ordinal0 [0x0095108A+1118346]
    Ordinal0 [0x0094C5F6+1099254]
    Ordinal0 [0x00926BE0+945120]
    Ordinal0 [0x00927AD6+948950]
    GetHandleVerifier [0x00CF71F2+2712546]
    GetHandleVerifier [0x00CE886D+2652765]
    GetHandleVerifier [0x00AE002A+520730]
    GetHandleVerifier [0x00ADEE06+516086]
    Ordinal0 [0x009F468B+1787531]
    Ordinal0 [0x009F8E88+1805960]
    Ordinal0 [0x009F8F75+1806197]
    Ordinal0 [0x00A01DF1+1842673]
    BaseThreadInitThunk [0x76776739+25]
    RtlGetFullPathName_UEx [0x77778AFF+1215]
    RtlGetFullPathName_UEx [0x77778ACD+1165]


Patrick Bressan Bremm

unread,
Jul 11, 2022, 9:06:35 AM7/11/22
to Selenium Brasil
Bom dia!

O diretório que foi setado para usar o profile no sistema está sendo usado por outro processo do Chrome.
Tenta criar um novo profile dentro do Chrome especifico para o Selenium.
Ai você utiliza no seu script de teste este especifico Profile. Lembrando que vc não deve usar ele no pessoal. Se não vai dar o mesmo erro

No stackoverflow tem mais detalhado como fazer:
Reply all
Reply to author
Forward
0 new messages