selenium+python 去除启动的黑色cmd窗口方法需要以下步骤:
步骤一:安装pyinstaller
使用以下命令安装pyinstaller:
pip install pyinstaller
步骤二:制作无窗口模式的driver
在使用selenium的时候,driver默认是有窗口的,需要加入chrome_options.set_headless()来让它无窗口模式。但是这样仍然会有黑色cmd窗口的出现。所以我们需要将driver制作成无窗口模式。
先创建一个python文件,例如名字为“make_driver.py”,内容如下:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_experimental_option('excludeSwitches', ['enable-logging'])
chrome_options.add_argument('--log-level=3')
driver_path = r"path/to/your/driver"
driver = webdriver.Chrome(executable_path=driver_path, options=chrome_options)
import time
time.sleep(5)
driver.quit()
这个文件会启动一个无窗口模式的driver并运行五秒钟,然后退出。
使用以下命令制作driver:
pyinstaller make_driver.py --onefile --noconsole
执行完上述命令,会得到两个文件夹,"build"和"dist"。在"dist"文件夹中生成的可执行文件就是我们需要的无窗口模式的driver。
例如:dist/make_driver.exe
步骤三:启动driver
在python代码中启动driver时,需要使用生成的无窗口模式的driver来启动。
示例一,使用chrome浏览器:
from selenium import webdriver
driver_path = r"path/to/dist/make_driver.exe"
options = webdriver.ChromeOptions()
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--headless')
options.binary_location = r"path/to/chrome/binary"
driver = webdriver.Chrome(executable_path=driver_path, options=options)
driver.get("https://www.baidu.com")
print(driver.current_url)
driver.quit()
示例二,使用firefox浏览器:
from selenium import webdriver
driver_path = r"path/to/dist/make_driver.exe"
options = webdriver.FirefoxOptions()
options.headless = True
driver = webdriver.Firefox(executable_path=driver_path, options=options)
driver.get("https://www.baidu.com")
print(driver.current_url)
driver.quit()
这两个示例中,在启动driver的时候,使用了生成的无窗口模式的driver来启动,并且加入了headless参数使得driver无窗口启动,也不会弹出黑色cmd窗口。
至此,selenium+python 去除启动的黑色cmd窗口方法就讲解完了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:selenium+python 去除启动的黑色cmd窗口方法 - Python技术站