修复 Selenium 使用无头浏览器时,部分元素不可见的问题
Posted on Wed, 25 Dec 2024 16:13:39 +0800 by LiangMingJian
修复 Selenium 使用无头浏览器时,部分元素不可见的问题
BUG 描述
Selenium WebDriver 在使用 headless 无头模式时,默认会将窗口设置为 0x0,并且处于最小化 Minimized 状态。因此在程序启动后,部分元素会因为超出界面而不可见,进而导致出现无法点击的异常。
Resolution
在启动 Selenium WebDriver 时先配置浏览器大小,或在启动浏览器后执行最大化方法。
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
import time
service = Service(r"F:\Sdk\webdriver\chromedriver.exe")
options = webdriver.ChromeOptions()
options.add_argument('--headless')
# 通过配置启动参数来默认最大化
options.add_argument('--start-maximized')
driver = webdriver.Chrome(service=service, options=options)
# 当然,也可以在启动后最大化
driver.maximize_window()
driver.get("https://www.bing.com/")
time.sleep(3)