2016-05-24 215 views
0

出于某种原因,我用PhantomJS执行的JavaScript不会点击保存按钮,但它在Firefox控制台中执行没有问题。PhantomJS没有点击按钮

它剂量也给我任何错误。

的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

为什么不'如果(!enableCheckbox.checked){'? –

+0

您是否尝试过其他方式点击? http://stackoverflow.com/q/15739263/1816580 –

回答