我用python,selenium和firefox运行这段代码,但仍然得到firefox的'head'版本:
binary = FirefoxBinary('C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe', log_file=sys.stdout)
binary.add_command_line_options('-headless')
self.driver = webdriver.Firefox(firefox_binary=binary)
Run Code Online (Sandbox Code Playgroud)
我也尝试了二进制的一些变体:
binary = FirefoxBinary('C:\\Program Files\\Nightly\\firefox.exe', log_file=sys.stdout)
binary.add_command_line_options("--headless")
Run Code Online (Sandbox Code Playgroud) python selenium python-3.x selenium-webdriver firefox-headless
这是错误:
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot determine loading status
from unknown error: unexpected command response
(Session info: chrome=103.0.5060.53)
Run Code Online (Sandbox Code Playgroud)
我正在使用正确的网络驱动程序和 chrome 版本:
这是脚本,它的工作是从普通用户数据目录打开网页并提供响应。
from seleniumwire import webdriver # Import from seleniumwire
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("user-data-dir=C:\\selenium")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get('https://katalon.com/
')
for request in driver.requests:
if request.response:
print(
request.response.status_code,
)
Run Code Online (Sandbox Code Playgroud) 我的雇主有一个专用模块1,我们用于内部单元/系统测试; 但是,这个模块的作者不再在这里工作,我被要求用它测试一些设备.
问题是pyfoo
需要古老版本的twisted
(v8.2.0)并且它导入twisted
了33个不同的文件.我尝试pyfoo
在v11.0.0下运行单元测试,我甚至没有看到TCP SYN数据包2.不幸的是,我已经在我的实验室linux服务器上安装了扭曲的v11.0.0,并且我有自己的代码依赖于它.
为了解决这个问题,我一直在绞尽脑汁,但我只能提出以下选择:
选项A.安装新版本的python,安装virtualenv
,然后安装旧版本twisted
的virtualenv
.只运行pyfoo
在这个新版本的python下需要的测试.
选项B.使用以下内容编辑所有33个文件:DIR = '../'; sys.path.insert(0, DIR)
并在源代码下面的相应目录中安装旧版本的python.
选项C.尝试修复pyfoo
使用v11.0.0 3
我有什么选择吗?除了上面的选项A之外,还有更优雅的方法来解决这个问题吗?
pyfoo
为了争论而称之为pyfoo
这不是一件轻而易举的事,而且这项工作的截止日期很短.我正在尝试在无头模式下使用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
所以我正在尝试一些硒处理方法,我真的希望它能很快。
所以我的想法是,使用无头的chrome运行它可以使我的脚本更快。
首先,该假设是正确的,还是如果我使用无头驱动程序运行脚本并不重要?
无论如何,我仍然希望它能够正常运行,但是我不知何故,我尝试了不同的方法,并且大多数人建议它可以如十月更新中所说的那样工作
如何配置ChromeDriver通过Selenium以无头模式启动Chrome浏览器?
但是当我尝试这样做时,我得到了奇怪的控制台输出,但它似乎仍然不起作用。
任何小费表示赞赏。
python selenium google-chrome selenium-chromedriver google-chrome-headless
我想从 mobile.de 上抓取一些供个人使用的广告。
我正在使用 python 3.6 和 requests lib,但我面临一些机器人检查的问题。我怎样才能从他们的网站通过这个网关?
import requests
from bs4 import BeautifulSoup
r = requests.get("https://www.mobile.de/?lang=en")
bs = BeautifulSoup(r.content, 'lxml')
print(bs)
Run Code Online (Sandbox Code Playgroud)
这部分代码向我显示以下内容:
<p>To continue your browser has to accept cookies and has to have JavaScript enabled.</p>
Run Code Online (Sandbox Code Playgroud)
我在哪里可以找到我需要解决的逻辑才能通过这个问题?
我有一个问题 --headless
Python Selenium for Chrome 模式。
代码
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
CHROME_DRIVER_DIR = "selenium/chromedriver"
chrome_options = webdriver.ChromeOptions()
caps = DesiredCapabilities().CHROME
chrome_options.add_argument("--disable-dev-shm-usage")
chrome_options.add_argument("--remote-debugging-port=9222")
chrome_options.add_argument("--headless") # Runs Chrome in headless mode.
chrome_options.add_argument('--no-sandbox') # # Bypass OS security model
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-gpu")
browser = webdriver.Chrome(desired_capabilities=caps, executable_path=CHROME_DRIVER_DIR, options=chrome_options)
browser.get("https://www.manta.com/c/mm2956g/mashuda-contractors")
print(browser.page_source)
browser.quit()
Run Code Online (Sandbox Code Playgroud)
当我删除chrome_options.add_argument("--headless")
所有工作正常时,但是--headless*
有了下一个问题
Please enable cookies.
Error 1020 Ray ID: 53fd62b4087d8116 • 2019-12-04 11:19:28 UTC
Access denied
What happened?
This website is using a security service to …
Run Code Online (Sandbox Code Playgroud) python selenium cloudflare selenium-chromedriver google-chrome-headless
我正在尝试使用R(包rvest
)在网页上刮取表格数据.要做到这一点,数据需要在html源文件中(rvest
显然在那里寻找它),但在这种情况下它不是.
但是,数据元素显示在"检查"面板的"元素"视图中:
源文件显示一个空表:
为什么数据显示在inspect元素上而不是源文件上?如何以html格式访问表数据?如果我无法通过HTML访问如何更改我的网络抓取策略?
编辑:赞赏使用R的解决方案
我有一个应用程序,我需要一个长时间运行的Selenium Web 驱动程序实例(我在无头模式下使用Chrome 驱动程序 83.0.4103.39)。基本上,该应用程序不断从队列中提取 url-data,并将提取的 url 提供给 Selenium,Selenium 应该在网站上执行一些分析。许多这些网站可能已关闭、无法访问或损坏,因此我将页面加载超时设置为 10 秒,以避免 Selenium 永远等待页面加载。
我在这里遇到的问题是,经过一些执行时间(假设 10 分钟)Selenium 开始给出Timed out receiving message from renderer
每个 url 的错误。最初它工作正常,它可以正确打开好的网站并在坏网站上超时(网站无法加载),但一段时间后它开始对所有内容超时,即使是应该正确打开的网站(我已经检查过,它们在 Chrome 浏览器上正确打开)。我很难调试这个问题,因为应用程序中的每个异常都被正确捕获。我也注意到这个问题只发生在headless
模式中。
这是应用程序的简化版本:
import traceback
from time import sleep
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
width = 1024
height = 768
chrome_options = Options()
chrome_options.page_load_strategy …
Run Code Online (Sandbox Code Playgroud) Chrome 在我的 Jenkins 上不稳定。当我运行 build 5 次时,它运行 1 - 2 次成功,另外 3 次出现上述错误。
Chrome 代码:
ChromeOptions options = new ChromeOptions();
System.setProperty("webdriver.chrome.driver","/usr/local/bin/chromedriver");
options.addArguments("--headless");
options.addArguments("--no-sandbox");
options.addArguments("--disable-dev-shm-usage");
driver = new ChromeDriver(options);
driver.get("https://mywebsite.com");
Run Code Online (Sandbox Code Playgroud)
我已经采取了一些步骤:
python ×8
selenium ×6
python-3.x ×2
web-scraping ×2
cloudflare ×1
cookies ×1
headless ×1
html ×1
iframe ×1
java ×1
javascript ×1
jenkins ×1
linux ×1
r ×1
renderer ×1
rvest ×1
seleniumwire ×1
twisted ×1
ubuntu-18.04 ×1