我的公司有一个基于JavaScript的(基于骨干的)网站,生活在一个我无法控制的外部域名。我想自动完成一些任务。基本上我想点击一些东西,填写一些表格字段,然后提交一个按钮。但是,我还希望能够进行逻辑测试,并根据页面中各种状态在字段中输入不同的值。
我知道我可能会使用Selenium,但还有其他选择吗?也许是一个纯粹的JavaScript解决方案?
例如,如果我能做到这一点,那就太好了:
$('#someButton').click();
if (parseInt($('#someDiv').text()) > x) {
$('#someField').val(123);
someCounter++;
}
$('#submitButton').click();
即使我可以将自定义JavaScript注入网页......这也可以起作用。
答案 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将其转换为书签,现在我可以在访问页面时单击书签。瞧。