相关疑难解决方法(0)

Selenium Webdriver可以在后台静默打开浏览器窗口吗?

我有一个运行许多测试的selenium测试套件,在每个新测试中,它打开了我打开的任何其他窗口顶部的浏览器窗口.在当地环境中工作时非常震动.有什么办法告诉selenium或操作系统(MAC)在后台打开窗口?

webdriver selenium-grid selenium-webdriver

139
推荐指数
8
解决办法
18万
查看次数

如何配置ChromeDriver以通过Selenium在无头模式下启动Chrome浏览器?

我正在研究一个用于网络搜索的python脚本,并且已经走上了使用Chromedriver作为其中一个软件包的道路.我希望这在没有任何弹出窗口的情况下在后台运行.我在chromedriver上使用'headless'选项,它似乎没有显示浏览器窗口,但是,我仍然看到.exe文件正在运行.看到我正在谈论的截图.截图

这是我用来启动ChromeDriver的代码:

options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches",["ignore-certificate-errors"])
options.add_argument('headless')
options.add_argument('window-size=0x0')
chrome_driver_path = "C:\Python27\Scripts\chromedriver.exe"
Run Code Online (Sandbox Code Playgroud)

我试图做的事情是将选项中的窗口大小改为0x0,但我不确定是什么,因为.exe文件仍然弹出.

有关如何做到这一点的任何想法?

我使用的是Python 2.7 FYI

python selenium selenium-chromedriver selenium-webdriver google-chrome-headless

40
推荐指数
6
解决办法
6万
查看次数

DeprecationWarning:不推荐使用 headless 属性,而是在 Selenium 4.8.0 Python 上使用 add_argument('--headless') 或 add_argument('--headless=new')

我正在尝试在无头模式下使用Selenium 4.8.0 Python 客户端执行一个基本程序:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service

options = Options()
options.headless = True
s = Service('C:\\BrowserDrivers\\chromedriver.exe')
driver = webdriver.Chrome(service=s, options=options)
driver.get('https://www.google.com/')
driver.quit()
Run Code Online (Sandbox Code Playgroud)

具有以下配置:

  • 硒 4.8.0 Python
  • Chrome _版本 109.0.5414.120(官方版本)(64 位)
  • Chrome驱动程序109.0.5414.25

尽管程序成功执行,但出现 DeprecationWarning 似乎为:

DeprecationWarning: headless property is deprecated, instead use add_argument('--headless') or add_argument('--headless=new')
Run Code Online (Sandbox Code Playgroud)

谁能解释 DeprecationWarning 和所需的更改?

python selenium headless selenium-chromedriver selenium-webdriver

14
推荐指数
2
解决办法
2万
查看次数

如何在带有 python 的 Selenium 中的无头 Firefox 中使用 --screenshot

使用@DebanjanB 在如何使用 python 在 Selenium 中以编程方式使 firefox 无头中的回复,我正在尝试使用他的代码并将其更改为使用 --screenshot 参数,但它不起作用。这是我的代码

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

options = Options()
options.add_argument( "--screenshot test.jpg http://google.com/" )
driver = webdriver.Firefox( firefox_options=options )
driver.get('http://google.com/')
print driver.title
driver.quit()
sys.exit()
Run Code Online (Sandbox Code Playgroud)

有人可以让我知道如何在 Python 和 Firefox 中使用 --screenshot 吗?谢谢

selenium screenshot headless

9
推荐指数
1
解决办法
4911
查看次数

Python,PhantomJS说我不是没有头吗?

我的代码是:

from selenium import webdriver

driver = webdriver.PhantomJS(executable_path='driver/bin/phantomjs.exe')
driver.get("https://www.test.com")
print(driver.current_url)
Run Code Online (Sandbox Code Playgroud)

它似乎运行良好,但在运行之前我总是会收到此错误:

UserWarning:已弃用对PhantomJS的硒支持,请改用无头版本的Chrome或Firefox警告。

为什么会出现此错误?我以为我的PhantomJS没头没脑,因为它仍然可以正常工作,并且没有浏览器弹出窗口,这个错误是否可以忽略?

python selenium phantomjs

9
推荐指数
2
解决办法
8646
查看次数

Selenium Python selenium.common.exceptions.WebDriverException:消息:使用 geckodriver 和 firefox 拒绝连接

我在运行自动化测试脚本时遇到问题。当我运行我的脚本时,会出现一个浏览器,但它不会输入 URL 并等待 10 秒,直到它抛出异常。是否有任何我可以使用的解决方案,以便我可以让我的自动化测试脚本工作?

Geckodriver.log :

1523997052492   geckodriver INFO    geckodriver 0.20.1
1523997052531   geckodriver INFO    Listening on 127.0.0.1:37807
1523997052592   mozrunner::runner   INFO    Running command: "/usr/bin/firefox/firefox" "-marionette" "--headless" "-profile" "/tmp/rust_mozprofile.PU1cngaAJ5Tg"
1523997054831   Marionette  INFO    Listening on port 2828
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪

Error
Traceback (most recent call last):
File 
"/home/kavin/PycharmProjects/untitled/Testing/purchaseAmazonItems.py", line 13, in setUp
self.driver = webdriver.Firefox(firefox_binary=binary, firefox_options=opts)
File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/firefox/webdriver.py", line 162, in __init__
keep_alive=True)
File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 154, in __init__
self.start_session(desired_capabilities, browser_profile)
File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 243, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", …
Run Code Online (Sandbox Code Playgroud)

python firefox selenium selenium-webdriver geckodriver

5
推荐指数
1
解决办法
5796
查看次数

selenium.common.exceptions.InvalidSessionIdException 通过 Python 在无头模式下使用 GeckoDriver Selenium Firefox

我正在尝试使用 python 和 selenium 在 Firefox 无头模式下自动化某些情况。我想,我做了我需要的所有设置,但仍然没有初始化 webdrvier。

我的问题是在执行我的代码后大约 30-60 秒收到异常并且异常消息不清楚实际上消息部分是空的。正如您在无头模式下运行的 geckodriver.log firefox 上看到的那样。

我使用 Firefox 56.0.1、python 3.6、selenium 3.141.0。这是我的代码和日志;

代码:

import os
import time
import selenium
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile

options = Options()
options.set_headless(True)
dir = "C:\\Python36\\Lib\\site-packages\\selenium\\webdriver\\firefox"
ff_driver_path = dir + "\\geckodriver.exe"
firefox_capabilities = DesiredCapabilities().FIREFOX
firefox_capabilities['marionette'] = True
profile = webdriver.FirefoxProfile()
binary = FirefoxBinary('C:\\Program Files (x86)\\Mozilla …
Run Code Online (Sandbox Code Playgroud)

python selenium selenium-firefoxdriver geckodriver firefox-headless

4
推荐指数
1
解决办法
6910
查看次数

DeprecationWarning:在Python中使用Geckodriver和Selenium将setter用于无头属性,而不是set_headless opts.set_headless(headless = True)

我有一个非常基本的Python脚本,该脚本可以在本地计算机(Mint 19)上完美运行,但是在远程机器上(Ubuntu 16.04)却无法运行。相同的文件,两个Python 3.7。我在/ usr / local / bin中有geckodriver,它从命令行使用gecko --version从路径中检出。我不知道是什么问题。geckodriver.log文件只是说:

1541268536111   mozrunner::runner   INFO    Running command: "/usr/bin/firefox" "-marionette" "-headless" "-foreground" "-no-remote" "-profile" "/tmp/rust_mozprofile.Mt6zAyZc7D01"
*** You are running in headless mode.
1541268546125   Marionette  INFO    Listening on port 33632
Run Code Online (Sandbox Code Playgroud)

来自终端的错误是:

root@dev1:/home/krypterro/PycharmProjects/corbot# python3 test1.py
 2018-11-03 12:28:22,442 -  INFO -  Application - Start
test1.py:12: DeprecationWarning: use setter for headless property instead of set_headless
  opts.set_headless(headless=True)
Traceback (most recent call last):
  File "test1.py", line 21, in <module>
    main()
  File "test1.py", line 14, in main
    driver = webdriver.Firefox(options=opts) …
Run Code Online (Sandbox Code Playgroud)

firefox selenium python-3.x geckodriver webdriverwait

3
推荐指数
1
解决办法
3851
查看次数

哪些驱动程序支持"无浏览器"/"无头"测试?

实际上我想在不想打开任何浏览器的服务器上运行我的selenium代码.但我很困惑哪个webdriver用于执行所有任务的服务器(我从某个站点下载一些文件并存储在我的服务器中).

selenium webdriver headless headless-browser selenium-webdriver

1
推荐指数
1
解决办法
1118
查看次数