如何使用JavaScript与第三方网页进行交互?

时间:2014-08-20 17:01:34

标签: javascript automation

我的公司有一个基于JavaScript的(基于骨干的)网站,生活在一个我无法控制的外部域名。我想自动完成一些任务。基本上我想点击一些东西,填写一些表格字段,然后提交一个按钮。但是,我还希望能够进行逻辑测试,并根据页面中各种状态在字段中输入不同的值。

我知道我可能会使用Selenium,但还有其他选择吗?也许是一个纯粹的JavaScript解决方案?

例如,如果我能做到这一点,那就太好了:

$('#someButton').click();

if (parseInt($('#someDiv').text()) > x) {
    $('#someField').val(123);
    someCounter++;
}

$('#submitButton').click();

即使我可以将自定义JavaScript注入网页......这也可以起作用。

2 个答案:

答案 0 :(得分:3)

你可以使用纯Js用硒来做到这一点。 基本上你需要WebDriverJs。

这里有一些代码示例。

var webdriver = require('selenium-webdriver');

var driver = new webdriver.Builder().
   withCapabilities(webdriver.Capabilities.chrome()).
   build();

driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');
driver.findElement(webdriver.By.name('btnG')).click();
driver.wait(function() {
 return driver.getTitle().then(function(title) {
   return title === 'webdriver - Google Search';
 });
}, 1000);

driver.quit();

此处提供更多信息 https://code.google.com/p/selenium/wiki/WebDriverJs

答案 1 :(得分:0)

我最终使用了书签。基本上我编写了纯JavaScript,使用http://ted.mielczarek.org/code/mozilla/bookmarklet.html将其转换为书签,现在我可以在访问页面时单击书签。瞧。