gpt4 book ai didi

python - 如何隐藏 geckodriver 控制台窗口?

转载 作者:行者123 更新时间:2023-12-03 11:08:41 24 4
gpt4 key购买 nike

我在 Windows 10 上运行 Selenium 3.141.0 和 python 3.6.7

我的脚本以 headless 方式运行 Firefox 驱动程序,但是来自 geckodriver 的控制台窗口仍然弹出。

from selenium import webdriver

options = webdriver.FirefoxOptions()
options.add_argument('-headless')
driver = webdriver.Firefox(executable_path=r'c:\webdrivers\geckodriver.exe', log_path='C:\webdrivers\geckodriver.log', firefox_options=options)
driver.get('http://10.0.0.102/')

element = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.ID, "body-home-tile-pgDevServ"))
)
button = driver.find_element_by_id('body-home-tile-pgDevServ')
button.click()
element = WebDriverWait(driver, 20).until(
EC.presence_of_element_located((By.ID, "devserv-printQ-Inp"))
)
button = driver.find_element_by_id('devserv-printQ-Inp')
button.click()

最佳答案

我破解了 selenium 库,更改其中的代码,\AppData\Roaming\Python\Python38\site-packages\selenium\webdriver\common\service.py第 72 行及以下,

原始代码为:

        try:
cmd = [self.path]
cmd.extend(self.command_line_args())
self.process = subprocess.Popen(cmd, env=self.env,
close_fds=platform.system() != 'Windows',
stdout=self.log_file,
stderr=self.log_file,
stdin=PIPE)

然后再添加两行,像这样

        try:
cmd = [self.path]
cmd.extend(self.command_line_args())
CREATE_NO_WINDOW = 0x08000000
self.process = subprocess.Popen(cmd, env=self.env,
close_fds=platform.system() != 'Windows',
stdout=self.log_file,
stderr=self.log_file,
creationflags=CREATE_NO_WINDOW,
stdin=PIPE)

它适用于 Windows。

关于python - 如何隐藏 geckodriver 控制台窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57984953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com