Add initial implementation of Chrome user profile management and scraping driver
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
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}")
|
||||
Reference in New Issue
Block a user