这就是我遇到麻烦的代码:
def scrap():
options = webdriver.ChromeOptions();
options.add_argument('headless');
options.add_argument('--profile-directory=Profile 1')
options.add_argument("--user-data-dir=C:/Users/omarl/AppData/Local/Google/Chrome/User Data/")
options.add_argument("--remote-debugging-port=45447")
options.add_argument("--disable-gpu")
browser = webdriver.Chrome(executable_path=r"C:\Users\omarl\OneDrive\Escritorio\chromedriver.exe", options=options)
scrapURL = "https://es.wallapop.com/search?distance=30000&keywords=leggins&latitude=41.38804&longitude=2.17001&filters_source=quick_filters"
browser.get(scrapURL)
#...
错误是:
WebDriverException: unknown error: unable to discover open pages
当我执行脚本时,我没有任何chrome实例,当我使用它时没有headless
选项,它工作正常。知道为什么会这样吗?请注意,我使用的是类似问题中提供的--远程调试端口
。
我用的是ChromeDriver 86.0.4240.22
你试过使用arg吗——没有沙盒?很多人在Chrome驱动程序上使用Selenium时出错:无法发现打开的页面,他们成功地解决了这个问题。
要在Headless模式下调用ChromeProfile,您可以仅使用--user-data-dir
参数,并且可以安全地删除--profile-目录
参数,如下所示:
>
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--window-size=1920,1080')
# options.add_argument('--profile-directory=Profile 1')
options.add_argument(r"--user-data-dir=C:\Users\Soma Bhattacharjee\AppData\Local\Google\Chrome\User Data\Default")
options.add_argument("--remote-debugging-port=9222")
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.get('https://www.google.com/')
print("Chrome Headless launched")
控制台输出:
DevTools listening on ws://127.0.0.1:9222/devtools/browser/93c67c41-e125-4d12-abc0-fcf0f07a62f4
Chrome Headless launched
你可以在以下网站上找到一些相关的详细讨论:
确保:
@Test
驱动程序。quit()
在tearDown(){}
方法中关闭ChromeDriver远程调试端口预留竞争条件
我在为Spring Cloud Config服务器定义多个基于svn的配置存储库时遇到了问题。我已经建立了三个配置库。一个用于开发,单位和生产。我已经将默认值设置为development(通过设置spring.cloud.config.server.svn.uri=development repo uri)。但是,每当我向配置服务器的RESTendpoint发出GET请求时,无论我请求哪个概要文件
如果我们有一个运行sikuli的无头测试服务器(需要ubuntu和Windows配置),如何在没有物理显示器的情况下使其工作,并且最好是尽可能多的屏幕分辨率。
我使用Selenium和PhantomJS开发了几个Python脚本。当我转向自动下载时,我切换到了(headed)Firefox(有效),然后是Chrome,有了headless选项,这样浏览器就不会在我面前打开了。 我的第一个脚本访问一个页面和几个HTML元素,与无头Chrome完美地工作。 第二个,然而,工作与头铬。如果我加上“无头”选项,它就不再起作用了。当我试图以headless模式打印
我正在创建一个配置文件页面和一个登录页面,在其中存储会话id,然后在配置文件文件中检查是否设置了isset,但我遇到的问题是,系统总是显示一条错误消息,并且我使用了print\r($\u session);浏览器显示: 重要数据丢失阵列([名字]= 如何修复此错误?????
我们正在使用confluent platform 5.3.1社区版。 最近,作为安全扫描的一部分,我们发现Kafka rest代理和架构注册表服务缺少http头(X-XSS-Protection,X-Content-Type-Options)安全漏洞。 根据汇合留档,我们可以在配置中添加response.http.headers.config属性来添加/设置所需的标头。 https://docs.
我的log4j2中有此配置。xml文件: 我将此文件放在src/resources中,并遵循以下指南:guide,但当我运行项目时,出现以下错误: