ちょうどCasperJSでいくつかのサンプルテストを書いて作業を始めました。 CSSセレクタを使用するとすべてうまく動作しますが、Xpathの使用に問題があります。私は、XPathを使用する唯一の理由は、より弾力性ロケータを作成することである、すなわちXパスによるCasperJS waitUntilVisible
'//a[text()="Office Building"]'
CSSのバージョン対:私は、ブラウザでこのXPathをテストしている:#content > div > div > div > div:nth-child(1) > a
ここ(注意私はを試みたものですコンソール):
しようとした直接
casper.waitUntilVisible('//a[text()="Office Building"]');
渡すには、XPathとして明示的にロケータを指定しようとしました:
casper.waitUntilVisible({
type: 'xpath',
path: '//a[text()="Office Building"]'
});
とモジュールas documented hereからヘルパーselectXPath
を必要としてみました:要素が「見つからない」んので
var x = require('casper').selectXPath;
casper.waitUntilVisible(x('//a[text()="Office Building"]'))';
これらの結果のすべてのタイムアウトエラーWait timeout of 30000ms expired, exiting.
インチ何か案は?
何「が含まれる」バージョンについて: '// [含まれています(。、「オフィスビル」) ] '? – alecxe
もう一つの選択肢はcasper.waitForText( 'オフィスビルディング')です。あなたが書いた最後の例はうまくいくはずですが、スペースの場合にはより良いものが含まれています。 – dasmelch
@alecxeあなたはどこにいてもうわー:)残念ながら同じ結果。 DOMに入るために 'evaluate'を使うなど、いくつかの方法を試してみてください。 – Gunderson