打开新窗口并在新的widnow上运行javascript

时间:2016-07-14 22:41:59

标签: javascript node.js

如何使用javascript打开新的Google Chrome窗口(通过npm打开),然后在新打开的窗口上填写表单?

目前,我有:

// 2 arrays for storing account creation info
var opener = require('opener')
var newWindow = opener('URL HERE')

我如何附加到新窗口并在其上运行代码来填写表单?我通过Mac终端中的节点运行javascript代码。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

要做到这一点,你必须设计你的表单,并在开启者可以实际访问它的地方托管它。我之前没有使用过opener,但是我可以看到它的工作是在新的浏览器进程中打开你作为参数传递的url。没什么。

设计和处理表单的提交取决于您。没有魔法。没有捷径。

答案 1 :(得分:0)

您可以使用selenium进行浏览器自动化。这是硒文档的链接。 http://seleniumhq.github.io/selenium/docs/api/javascript/index.html

以下是使用selenium解决问题的代码

var webdriver = require('selenium-webdriver'),
    By = require('selenium-webdriver').By,
    until = require('selenium-webdriver').until;

var driver = new webdriver.Builder()
    .forBrowser('chrome')
    .build();

driver.get('url to form');
var form = driver.findElement(By.css('form'));
var element = form.findElement(By.css('input[type=file]'));
element.sendKeys('/path/to/file.txt');
form.submit();
driver.quit();