【发布时间】:2016-05-27 05:00:47
【问题描述】:
由于某种原因,我使用 PhantomJS 执行的 javascript 没有单击保存按钮,但在 Firefox 控制台中执行时没有问题。
它也不会给我任何错误。
有问题的Javascript
var enableCheckbox = document.querySelector('input[id*="togglePref"]');
if(!enableCheckbox.hasAttribute('checked')){
enableCheckbox.click();
console.log(document.querySelector('input[value="Save"]').value);
}
PhantomJS 脚本
setTimeout(function(){
var url = page.url;
var domainUrl = url.substr(0, url.length - 13);
console.log(domainUrl);
page.render('logedIn.png');
page.open(domainUrl + 'setup/notesSetupPage.apexp?setupid=NotesSetupPage');
do { phantom.page.sendEvent('mousemove'); } while (page.loading);
setTimeout(function(){
page.evaluate(function(){
var enableCheckbox = document.querySelector('input[id*="togglePref"]');
if(!enableCheckbox.hasAttribute('checked')){
enableCheckbox.click();
console.log(document.querySelector('input[value="Save"]').value);
}
});
page.render('diditsave.png');
console.log('...finished');
phantom.exit();
}, 5000);
}, 5000);
如果有人知道为什么会出现这种情况,我将不胜感激。
谢谢, 斯科特
【问题讨论】:
-
为什么不
if(!enableCheckbox.checked){? -
您是否尝试过其他点击方式? stackoverflow.com/q/15739263/1816580
标签: javascript phantomjs salesforce