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

我得到一个错误,它是“unhandledpromiserejectionwarning:nosuchsessionerror:没有这样的会话”

子车俊材
2023-03-14

我试图用Selenium×Node.js实现自动化测试,但它在调查阶段被阻止了...

  • Mac OS10.12.6
  • 节点8.11.1
  • Selenium Server 3.12.0
  • Selenium WebDriver 4.0.0
  • ChromeDriver 2.38
$ npm install selenium-webdriver

3.安装selenium-server

通过自制安装

$ brew install selenium-server-standalone

4.安装ChromeDriver

$ mv /Users/username/Downloads/chromedriver ./
$ ls -la
total 31920 
drwxr-xr-x 7 username staff 238 5 24 17:42 . 
drwxr-xr-x+ 55 username staff 1870 5 24 17:42 .. 
-rwxr-xr-x@ 1 username staff 11917200 4 20 16:39 chromedriver 
drwxr-xr-x 41 username staff 1394 5 24 16:45 node_modules 
-rw-r--r-- 1 username staff 9367 5 24 16:45 package-lock.json

$selenium-server-port 4444&[1]33415 c02sy1xfgtfj:Selenium用户名$18:04:14.512信息[gridlauncherv3.launn]-Selenium构建信息:版本:“3.11.0”,修订:“e59cfb3”18:04:14.513信息[gridlauncherv3$1.launn]-在端口4444 2018-05-24 18:04:14.624:INFO::main:Logging initialized@441ms到org.seleniumhq.jetty9.util.log.stderrlog 18:04:14.882 ver.boot]-欢迎使用Selenium for Workgroups....18:04:14.882信息[SeleniumServer.boot]-Selenium服务器已启动并在端口4444上运行

编写测试代码作为示例

$ vim sample.js

// Initialization of WebDriver
const webdriver = require('selenium-webdriver');
// Browser html" target="_blank">selection
const browser = new webdriver.Builder().forBrowser('chrome').build();

// Get page title
browser.get('http://example.selenium.jp/reserveApp/').then(()=>{
    browser.getTitle().then(title => console.log('Page title:',title))
});

// Exit the browser
browser.close();
browser.quit();

当您执行上述代码时,...

$ node sample.js 
(node:13216) UnhandledPromiseRejectionWarning: NoSuchSessionError: no such session
  (Driver info: chromedriver=2.38.552518 (183d19265345f54ce39cbb94cf81ba5f15905011),platform=Mac OS X 10.12.6 x86_64)
    at Object.checkLegacyResponse (/Users/ko-kamenashi/selenium/node_modules/selenium-webdriver/lib/error.js:585:15)
    at parseHttpResponse (/Users/ko-kamenashi/selenium/node_modules/selenium-webdriver/lib/http.js:533:13)
at Executor.execute (/Users/ko-kamenashi/selenium/node_modules/selenium-webdriver/lib/http.js:468:26)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
(node:13216) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:13216) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

我有错误。我该怎么办?你能帮我一把吗?谢谢你的阅读。

共有1个答案

曹昊焱
2023-03-14

错误在这里:const browser=new webdriver.builder().forbrowser('chrome').build();

Best way: 
(async ()=> { 
await const browser = new webdriver.Builder().forBrowser('chrome').build();
)();
 类似资料:
  • 问题内容: 我正在使用Docker创建一个容器来测试我的Mac上基于PHP和MySQL构建的Web应用程序。我的PHP应用是使用无脂肪框架进行MVC和路由构建的。我有两个Dockerfile,一个用于MySQL,一个用于PHP。我已经成功使用了测试Docker应用程序,因此我相信我的映像已正确安装。 错误的主要部分: 请注意,如果我使用而不是进行连接,则会收到一个稍微不同的错误,该错误表示: 我的

  • 我需要将12小时的时间转换为24小时的格式。 我现在已经把12小时的时间硬编码了,以使事情更简单。 我的逻辑:输入sting 07:05:45PM提取最后2个字符。如果AM check为前两个字符,则为12。。如果是,则将其设置为00,否则按原样输出,如果PM检查前两位数字是否为12。。如果是,请保持原样,如果不是,则在前2位加上12 总线错误:10是我运行代码得到的

  • 我已经调用了高达2048(mb?)的节点没有任何成功,所以在这一点上,我认为继续提高内存限制是没有意义的,特别是如果我的代码一开始效率很低的话。这是致命错误的答案:无效的标记压缩接近堆限制分配失败-尽管在ionic 3中JavaScript堆内存不足。 ref: 由于不够简洁: 下面是我的问题函数: 如果我注释掉第二个循环节点,它将在默认内存设置下运行,而不会出现任何问题。如果我不得不猜测这个问题

  • AMQ6235E:缺少目录“H:”。 我无法找到解决这个问题的方法,它正在连接队列,它显示了这个错误。我不能公开我运行的代码,但我可以解释节点脚本将做什么,首先尝试连接队列管理器,然后尝试通道名,主机名,端口名,这里问题是当它需要建立连接而不是得到上面的错误

  • 问题内容: 我正在尝试使用jQuery和Ajax,并且使用了这种方法。但是我收到错误$ .toJSON不是firebug中的函数。问题出在哪里?我使用jquery 1.3.2。谢谢 问题答案: 没错 没有功能:http : //api.jquery.com/jQuery.toJSON。也许您想使用它。

  • 我得到一个错误java。lang.OutOfMemoryError(无错误消息),同时生成我的项目的签名Android应用程序包(AAB)。这是完整的错误消息- ***任务“:app:signReleaseBundle”的执行失败。 执行com.android.build.gradle.internal.tasks.FinalizeBundleTask$BundleToolRunnablejava