使用Windows命令行cmd可以指定浏览器打开网址。在node.js中使用start即可:
比如分别用Chrome和IE打开网址
start chrome http://www.google.cn
start iexplore http://www.google.cn
但是当用户没有安装Chrome时使用start则会报错,并会弹出错误对话框:
[Window Title]
chrome
[Content]
Windows 找不到文件 'chrome'。请确定文件名是否正确后,再试一次。
如果不想弹出对话框,则需要事先检查Chrome是否安装。
Chrome默认安装位置为:
C:\Documents and Settings\{ USERNAME }\Local Settings\Application Data\Google\Chrome\Application
我们还需要借助os获取Windows当前登录的用户名,如果没有安装Chrome的话,则用IE打开,最终代码如下:
var fs = require('fs') var os = require('os') var cp = require('child_process') var path = require('path') var open = function(url) { var userInfo = os.userInfo() var chromePath = path.join(userInfo.homedir, 'Local Settings\\Application Data\\Google\\Chrome\\Application\\chrome.exe') var openByIE = function() { cp.exec('start iexplore ' + url, function(err, stdout, stderr) { if (err) { console.log(err) } }) } fs.stat(chromePath, function(err) { if (err) { openByIE() return } cp.exec('start chrome2 ' + url, function(err, stdout, stderr) { if (err) { openByIE() return } }) }) }
总结
以上所述是小编给大家介绍的Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
问题内容: 有没有一种简单的方法来检测XMLHttpRequest在浏览器窗口中是否处于活动状态?还是有多少活跃?即。有没有一种方法可以检测我的浏览器窗口中是否有活动的AJAX调用? 问题的扩展: 使用javascript有没有办法查看是否打开了XMLHttpRequests?例如“ window.XMLisActive()”或类似的东西? 解决方案:最终为XMLHttpRequest写一个包装器
我有一台带OS X 10.8.2的macbook pro。XCode已安装。我知道它出现在应用程序目录中。在/usr/bin中还有xcode build和xcode select文件,我需要知道是否安装了命令行工具。有命令吗?如何查看是否安装了XCode CLT,如果是,如何查找已安装的版本?
我的chrome浏览器在Selenium Webdriver中没有打开。根据兼容性,我已经下载了所有的东西,如chrome driver,Selenium jars和chrome。我使用的是Intellij IDEA IDE。代码和版本细节如下- 版本: Chrome:89.0.4389.90 IDE:IntelliJ IDE:203.7148.57 Chrome驱动程序:https://chro
问题内容: 为了在默认浏览器中打开给定的URL,我们必须在Linux(不同的公共发行版)上执行(从Java,但这无关紧要)什么命令? 问题答案: 最交叉分布的是
我的代码没有启动浏览器。 项目显示运行了很长时间,但什么也没有发生。我按下print,发现没有执行。 我添加了manifest_vesion,但在每次运行中,它都生成一个新文件,而我再次得到相同的错误。
问题内容: 我想检查浏览器是否仍然存在,如果不存在,那么我想打开一个新的浏览器!网络驱动程序中是否有可用的api来检查浏览器是否仍然存在? 问题答案: 调用后,将driver的值设置为 但是,如果调用,它将驱动程序的值设置为 因此,如果您在调用 driver.quit() 之后检查浏览器窗口,则可以通过以下实现知道。