Webページから数値を取得しようとしています。https://www.svenskaspel.se/resultat/kenoはphantomjsですが、evaluate()は何も返しません。PhantomJS queryselector()。textcontentは何も返しません。
は次のようにページの20個の数字があります。phantomjsで「栄冠」される数字の
<span class="result-ball-number ">28</span>
1(スパンタグ内の2つのクラス)
<span class="result-ball-number result-ball-number-kungkeno">47</span>
私は配列を取得します/を持つすべての番号のリスト:
list = document.querySelectorAll(".result-ball-number");
が、「戴冠」番号を取得することは、私がしようと何でも失敗しました。
document.querySelector(".result-ball-number-kungkeno").textContent;
これは動作します:
var ua = page.evaluate(function() {
var list = [];
ll = document.getElementsByClassName("result-ball-number");
for(i=0;i<20;i++) {
list.push(ll[i].textContent);
}
return list;
});
これは失敗します。
var ua = page.evaluate(function() {
var tmp = document.querySelector(".result-ball-number-kungkeno").textContent;
return tmp;
});
は、2つのクラスを持つ「span'タグの問題ですか?私は問題なく、いくつかの方法で番号を取得するFirefoxのwebinspectorで
、
document.querySelectorAll(".result-ball-number-kungkeno")[0].textContent
document.querySelector(".result-ball-number-kungkeno").textContent
または
k = document.getElementsByClassName("result-ball-number-kungkeno")
k[0].textContent
は私の番号を..gives。
PhantomJSでは、機能しません。
どのPhantomJSバージョンを使用しますか? 'onConsoleMessage'、' onError'、 'onResourceError'、' onResourceTimeout'イベント([Example](https://gist.github.com/artjomb/4cf43d16ce50d8674fdf#file-1_phantomerrors-js))に登録してください。多分エラーがあるかもしれません。 –
私はこれらを試しました、そして、彼らは多くの点で有用でした。どうやら私のバージョンはこの作業には時代遅れだったので、アップデートでそれが解決されました。 –