Files

60 lines
2.2 KiB
Python

import undetected_chromedriver as uc
def driver_scrapping(carpeta_descargas, carpeta_perfil_chrome, ejecutable_chrome, headless=False):
"""
Description:
Initializes a Chrome session with specific options and settings based on provided parameters.
Configures download folder, user profile directory, and Chrome executable.
Sets the browser window size and returns the configured driver object for external use.
Parameters:
carpeta_descargas (str): Path to the download directory.
carpeta_perfil_chrome (str): Path to the Chrome user profile directory.
ejecutable_chrome (str): Path to the Chrome executable.
Returns:
driver (WebDriver): Configured WebDriver object ready for automation tasks.
Usage:
driver = driver_scrapping(download_folder, profile_folder, executable_path)
Created_at: 2024-05-04
Updated_at: 2024-05-04
"""
try:
# Configuration settings for the Chrome browser
options = uc.ChromeOptions()
options.headless = headless # Set to True for headless operation
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_argument("--password-store=basic")
# Add experimental options and preferences for browser configuration
options.add_experimental_option(
"prefs",
{
"download.default_directory": carpeta_descargas,
"download.prompt_for_download": False,
"download.directory_upgrade": True,
"safebrowsing.enabled": True,
"credentials_enable_service": False,
"profile.password_manager_enabled": False,
"plugins.always_open_pdf_externally": True,
}
)
# Initialize the Chrome driver with specified options
driver = uc.Chrome(options=options,
user_data_dir=carpeta_perfil_chrome,
browser_executable_path=ejecutable_chrome)
# Set browser window size
driver.set_window_size(1200, 800)
print("Browser configured and ready for use.")
return driver
except Exception as e:
print(f"Failed to load driver. {e}")