0
我的casperjs腳本播放視頻,然後網頁提供2個按鈕以繼續查看或單擊「填充」。 「填充選項是什麼我之後,但在按鈕具有相同的id,除了所需的選項有acivate-access()函數:CasperJS腳本沒有找到正確的按鈕和onclick事件
button id="activate" class="btn btn lg" onclick="activate_access();
我試圖做this.click(‘#激活’)和this.click('#activate.btn.btn-lg'),但只是重新加載一個新的視頻,所以我想casper.evaluate或其他方法是必要的,我如何通過正確的onclick事件(這是acivate_access();)到casperjs 代碼:?
var casper = require('casper').create({
logLevel: "warning",
verbose: true,
onPageInitialized: function() {
console.log("page opened");
},
});
casper.userAgent('Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36');
casper.viewport = {width:1200, height:800};
casper.start(url, function() {
casper.wait(1000, function() {
casper.capture('look.png');
console.log('did screenshot');
});
});
casper.wait(4000, function() {
console.log('clicking play');
this.click('#video');
casper.wait(37000);
casper.capture('play.png');
pres_url=this.getCurrentUrl();
console.log(pres_url);
});
casper.evaluate(function() {
document.getElementById('activate').click();
});
casper.wait(500);
casper.run();
如果不同的元素具有相同的'id'屬性,那麼你真的應該對製作這個元素的開發者生氣。這絕不應該發生!此外,PhantomJS有一個相同的ID與多個元素相關的錯誤。 –