60 lines
2.2 KiB
Python
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}")
|