selenium+python 去除启动的黑色cmd窗口方法

yizhihongxing

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技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • python字典取值的几种方法总结

    来详细讲解一下“python字典取值的几种方法总结”。 引言 在Python编程中,字典是最常用的数据结构之一。字典是通过键值对来存储元素的,而且键和值都可以是不可变的数据类型。而在获取字典中的值时,有很多种不同的方法。本文将会对几种常用的字典取值方法进行总结,并提供相应示例。 直接通过键获取值 在Python的字典中,我们可以通过“键”来获取“值”。这种方…

    python 2023年5月13日
    00
  • python3 正则表达式基础廖雪峰

    Python3正则表达式基础 正则表达式是一种用于描述字符串模式的语言,可以用于配、查找、替换和分割。在Python中,可以使用re模块来使用正则表达式。本文将详细介绍Python中正则表达式的语法、字符集、转义字符以及常用函数,并提供两个示例说明。 基本语法 正则表达式由普通字符和元成,普字符表示本身,而元字符则有特殊的含义。下面是一些常用元字符: .:匹…

    python 2023年5月14日
    00
  • Django migrate报错的解决方案

    下面我将为您详细讲解Django migrate报错的解决方案。 1. 确认数据库连接是否正常 Django migrate报错的常见原因之一是数据库连接出现问题。在运行Django migrate命令前,我们需要先确认数据库的连接是否正常。可以通过以下三个步骤来确认数据库的连接是否正常。 (1)确认数据库的配置文件settings.py是否正确设置,其中包…

    python 2023年5月13日
    00
  • 详解爬虫被封的问题

    详解爬虫被封问题的攻略 作为一名爬虫从业者,经常会遇到网站反爬虫的问题。一旦被封,就无法获取数据。下面我们来详细了解一下如何避免或解决爬虫被封的问题。 1. 爬虫被封的原因 爬虫被封的原因主要有以下几个: 请求过于频繁,导致服务器认为是恶意攻击。 模拟登录时使用了错误的方式,使得服务器认为是非法登录行为。 未遵守网站的规则,爬取的内容与网站规则不符合。 爬虫…

    python 2023年5月13日
    00
  • python脚本实现验证码识别

    Python脚本实现验证码识别的完整攻略包含以下步骤: 1. 收集训练数据 验证码识别需要大量的训练数据,因此我们需要先收集足够的样本数据。一般来说,我们可以先手动输入一些验证码,再通过Python脚本对这些验证码进行处理,得到一系列的图片数据。 示例1:手动输入验证码 假设我们要识别一个4位数字的验证码,我们可以手动输入100个不同的验证码,并将其保存为p…

    python 2023年5月19日
    00
  • Python3查找列表中重复元素的个数的3种方法详解

    Python3查找列表中重复元素的个数的3种方法详解 在Python中,有多种方法可以查找列表中重复元素的个数。本文将介绍3种常用的方法,包括使用Counter()函数、使用set()函数和使用字典。下面将详细讲解这3种方法的实现原理和使用方法。 使用Counter()函数 Counter()函数是Python中的一个内置函数,用于统计列表中元素的个数。Co…

    python 2023年5月13日
    00
  • python3 map函数和filter函数详解

    Python3 map函数和filter函数详解 在Python3中,map函数和filter函数是两个常用的函数,它们可以对列表、元组等可迭代对象进行操作。本文将详细介绍map函数和filter函数的用法,并提供两个示例。 map函数 map函数可以对可迭代对象中的每个元素应用一个函数,并返回一个新的可迭代对象,其中包含应用函数后的结果。 以下是map函数…

    python 2023年5月15日
    00
  • Python TypeError: ‘float‘ object is not subscriptable错误解决

    当我们在Python中使用索引(即中括号 [])获取float类型的数据时,会出现“TypeError: ‘float’ object is not subscriptable”错误。这是由于float类型是不可迭代对象,因此不能像列表或字典那样使用索引来访问其元素。以下是解决此错误的完整攻略。 1. 确认数据类型 首先,您需要检查所使用的数据类型是否是可迭…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部