当前位置: 首页 > 知识库问答 >
问题:

使用headless Chrome浏览器时的ElementNotVisibleException

司马高昂
2023-03-14

出现错误:消息:元素不可见
(会话信息:headless chrome=60.0.321.90)
(驱动程序信息:chromedriver=2.31.488763(092DE99F48A300323ECF8C2A4E7CAB51DE5BA8),Platform=Windows NT 6.1.7601 SP1x86_64)
回溯(最近一次调用):
文件“C:\nik-x.py”,第148行,在main
func(nik)
文件“C:\lib\support.py”,第121行,在包装器
引发Ret
文件“C:\lib\support.py”,第108行,newfunc
res[0]=func(*args,**kwargs)
文件“C:\testcases\nik-1003.py”,第37行,testcase
i.click()
文件“C:\python36\lib\site-packages\selenium\webdriver\remote\webelement.py”,第7行,
7行,click
self._execute(command.click_element)
文件“execute
返回self._parent.execute(command,params)
文件”C:\python36\lib\site-packages\selenium\webdriver\remote\webdriver.py“,第25行
6,在execute
self.error_handler.check_response(response) 文件“C:\python36\lib\site-packages\selenium\webdriver\remote\errorhandler.py”,第
194行,在check_response中
引发exception_class(消息,屏幕,stacktrace)
selenium.common.exceptions.elementNotVisibleException:message:element not visible
(会话信息:headless chrome=60.0.3112.90)
(驱动程序信息:)

下面是我的一段代码:
icons=nik.elementleftmenusporticons()Iin icons[:-1]:try:i.click()

测试页面的HTML:futbal

共有1个答案

长孙承嗣
2023-03-14

我认为问题是,这个元素在无头Chrome的默认视框(600x800)中确实不可见。

启动Chrome时,必须将无头浏览器的窗口大小设置为参数。我使用的是javascript(我认为API在python下看起来类似):

var Options = require('selenium-webdriver/chrome').Options;
var options = new Options();
options.addArguments('headless');
options.addArguments('disable-gpu');
options.addArguments('window-size=1200,1100');

browser = builder.forBrowser('chrome').setChromeOptions(options).build();

其他信息

 类似资料:
  • 问题内容: 浏览器是否内置了超时功能,如果可以,它们是什么? 我有一个页面,该页面在最多运行5分钟的进程上执行AJAX调用。有人说浏览器在2分钟后超时,但不知道这有什么道理。 问题答案: 它取决于浏览器。“默认情况下,InternetExplorer的KeepAliveTimeout值为一分钟,其他限制因素(ServerInfoTimeout)为两分钟。这两种设置都会导致InternetExplo

  • 我想运行和控制一个浏览器窗口从一个web应用程序,以自动化的一些事情(如帐户创建等)在另一个网站。 所以我的问题是,有没有一种方法可以直接从浏览器使用selenium来实现它,在这种情况下如何实现它? 我知道有selenium-webdriver for JS,但在常见的用例中,我们将它与Node.JS一起使用。 WebDriver介绍建议这是可能的: 它的主要目的是允许web作者编写测试,使用户

  • Less 可以直接在浏览器端运行(支持IE6+、Webkit、Firefox),也可以借助Node.js或者Rhino在服务端运行。 Less是一种动态语言,无论是在浏览器端,还是在服务器端运行,最终还是需要编译成 CSS,才会发挥其作用。 浏览器端使用 在浏览器端直接使用Less,浏览器会直接为页面应用编译后的CSS样式,而不是生成单独的CSS文件。 在浏览器端直接使用Less,需要一个脚本的支

  • DO NOT USE! This project does not work anymore due to changes in Chrome. Use the Chrome DevTools protocol in chromedp instead! headlessChrome �� Support only for Ubuntu on Docker for now. Mac appears

  • 浏览器工作原理。 目录 排版引擎 ​渲染​ JavaScript 引擎 ​并发模型​ ​内存管理​ ​执行环境​ 网络通信 ​缓存​ ​Cookie​ ​跨源资源共享​ 安全 ​同源策略​ Web APIs ​事件​ ​存储​ ​定时器​ ​Fetch​ 文档操作 数据通信 图形处理 音视频处理

  • 设计开发的页面与网站需要在浏览器上预览与调试。推荐使用 Chrome 浏览器。 Chrome Safari Firefox Edge(IE)

  • 可浏览互联网Web网页的应用程序。 浏览器的LiveArea™ 浏览Web网页 开启更多窗口 使用书签及历史记录 设定浏览器 上传

  • 浏览工具 JS 浏览工具: URI.js platform.js history.js html2canvas 参考工具(查看浏览器是否支持某特性) caniusee.com HTML5 Please HTML5 test Browserscope webbrowsercompatibility.com iwanttouse.com/ Platform status Browser support