這是我的代碼,以獲得谷歌翻譯的單詞使用phantomjs實現這一目標的program.Am我給的。無法得到谷歌的結果值轉換使用phantomjs
上午將「Word:asdasdasd」傳遞給ID爲「source」的文本區域並觸發click事件。之後嘗試檢查是否包含新創建的span標記下的結果值.For那就是檢查它的id爲「result_box」的父項是否有多個childern。如果它是一個案例,那麼我們可以說span標籤是在該值傳遞給textarea時動態創建的。
var page = require('webpage').create();
console.log("Entering the program");
page.onConsoleMessage = function (msg) {
console.log(msg);
};
page.open("http://translate.google.com", function(status) {
if(status == 'success'){
console.log("Page loaded "+ status);
page.includeJs("//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js", function() {
setTimeout(function() {
var data = page.evaluate(function() {
$('#source').val("asdasdasd");
var ev = document.createEvent("MouseEvents");
ev.initEvent("click", true, true);
document.querySelector("input[id='gt-submit']").dispatchEvent(ev);
console.log("Click on page ");
if($('#result_box').children.length > 0){
console.log("New Span included");
console.log("value: " + $('#result_box').val());
}
else{
console.log("No span");
}
});
console.log("Exiting the program");
phantom.exit()
}, 10000);
});
}
});
輸出:
進入程序
頁加載成功
點擊頁面上
新跨越納入
值:
退出程序
我在這裏的問題是,它說新跨越標籤創建,但我沒能獲得it.Its strange.Whats的錯誤與上面的值碼?。
請人點我的解決方案。
在此先感謝
更新:
'value'主要是爲'inputs'或'形式elements'.Here您可以用'的.text()'只得到裏面的文本沒有任何HTML標記 – Spokey
我用'的.text嘗試( )'。它沒有工作。仍然返回空 – user
控制檯中的任何錯誤? – Pavlo