由于某些原因,我使用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);
如果有人有任何想法可能会出现这种情况,我将非常感谢您的帮助。
谢谢, 斯科特
答案 0 :(得分:0)
尝试使用JavascriptExecutor:http://selenium-solutions.blogspot.in/2012/11/enabling-hidden-element-using.html