我有一个运行许多测试的selenium测试套件,在每个新测试中,它打开了我打开的任何其他窗口顶部的浏览器窗口.在当地环境中工作时非常震动.有什么办法告诉selenium或操作系统(MAC)在后台打开窗口?
我正在研究一个用于网络搜索的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
我正在尝试在无头模式下使用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)
具有以下配置:
尽管程序成功执行,但出现 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
使用@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 吗?谢谢
我的代码是:
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没头没脑,因为它仍然可以正常工作,并且没有浏览器弹出窗口,这个错误是否可以忽略?
我在运行自动化测试脚本时遇到问题。当我运行我的脚本时,会出现一个浏览器,但它不会输入 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 和 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
我有一个非常基本的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) 实际上我想在不想打开任何浏览器的服务器上运行我的selenium代码.但我很困惑哪个webdriver用于执行所有任务的服务器(我从某个站点下载一些文件并存储在我的服务器中).
selenium webdriver headless headless-browser selenium-webdriver
selenium ×8
python ×5
geckodriver ×3
headless ×3
firefox ×2
webdriver ×2
phantomjs ×1
python-3.x ×1
screenshot ×1