Selenium Webdriver options的实用参数设置

1、关闭Chrome浏览器受自动控制的提示

options.add_experimental_option('useAutomationExtension', False)
options.add_experimental_option('excludeSwitches', ['enable-automation'])

 

2、关闭是否保存密码的弹窗

options.add_experimental_option("prefs", 
{  "credentials_enable_service": False,
   "profile.password_manager_enabled":False,
})

 

3、下载文件时自动下载到指定的目录,不要弹出保存文件对话框

options.add_experimental_option("prefs", 
{  "download.default_directory": r'd:\temp', # 设置默认保存文件路径
   "download.prompt_for_download": False,    # 设置保存文件之前是否弹出保存对话框
   "download.directory_upgrade": True,  
})

 

4、下载文件完成后不要扫描文件,减少等待的时间

options.add_argument('--safebrowsing-disable-download-protection')
options.add_experimental_option("prefs", 
{  "safebrowsing.enabled": False, 
   "download.directory_upgrade": True,  
})

 

5、关闭是否允许同时下载多个文件的提示

options.add_experimental_option("prefs", 
{  "profile.default_content_settings.popups": 0,
   "profile.default_content_setting_values.automatic_downloads": 1
})

 

6、跳过网站检测爬虫

driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": "Object.defineProperty(navigator, 'webdriver', {get: () => False}) "})

注意:这一语句是在options.add_argument()语句以及driver = webdriver.Chrome(options=options)后面的。可以有效解决webdriver打开某些网站呈空白页面的问题。

 

7、强行显示英文版网站

可解决浏览器打开某些国外网站时会自作主张切换到中文版网站的问题(如:某英社交网站)

options.add_experimental_option('prefs', {'intl.accept_languages': 'en,en_US'})

 

8、设置代理

options.add_argument('--proxy-server=127.0.0.1:8080')

 

9、手动添加user-agent

可以有效解决无头模式(headless)访问网站的异常情况,可参考我另一篇博文:https://blog.csdn.net/Scott0902/article/details/129384085

user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36'
options.add_argument(f'user-agent={user_agent}')

 

### 使用 Python Selenium WebDriver 访问 Web 页面 为了使用 Python 和 Selenium WebDriver 来访问网页,需先确保已安装必要的库并配置好环境。具体来说,Selenium 是一个用于浏览器自动化的工具集,可以用来模拟人类用户的交互行为[^1]。 #### 安装依赖包 首先,需要通过 pip 工具来安装 `selenium` 库: ```bash pip install selenium ``` 对于 Chrome 浏览器而言,还需要下载对应版本的 ChromeDriver 并将其路径加入系统的 PATH 环境变量中,或者在初始化 WebDriver 实例时指定其位置[^2]。 #### 初始化 WebDriver 对象 创建一个新的 Chrome WebDriver 实例,并可选地传递一些选项来自定义启动参数: ```python from selenium import webdriver from selenium.webdriver.chrome.service import Service as ChromeService from selenium.webdriver.common.by import By from selenium.webdriver.chrome.options import Options chrome_options = Options() # 可在此处添加更多自定义选项, 如无头模式 chrome_options.add_argument('--headless') service = ChromeService(executable_path='/path/to/chromedriver') # 替换成实际 chromedriver 路径 driver = webdriver.Chrome(service=service, options=chrome_options) ``` #### 设置页面加载超时时间 为了避免因网络延迟等原因造成程序长时间等待的情况发生,可以通过调用 `set_page_load_timeout()` 方法设置最大允许的时间长度;如果超过了该时限,则触发 TimeoutException 异常[^3]: ```python try: driver.set_page_load_timeout(10) # 单位秒 except Exception as e: print(f"Set page load timeout failed: {e}") ``` #### 执行 GET 请求获取目标 URL 的 HTML 文档 利用 `get(url)` 函数向服务器发送请求以载入特定网址的内容,在此期间可能会遇到各种类型的异常情况,因此建议采用 try-except 结构来进行基本的错误捕捉与处理: ```python url = 'https://example.com' try: driver.get(url) except Exception as e: print(f"Failed to open url [{url}]: {str(e)}") else: title = driver.title print(f"The webpage's title is '{title}'") finally: driver.quit() # 关闭浏览器实例 ``` 上述代码片段展示了如何安全有效地运用 Selenium WebDriver 进行简单的网页抓取任务。当然,这仅仅是入门级别的介绍,随着需求的增长还可以探索更高级的功能特性。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值