1

CasperJSclicklabelを使用すると、一種のタグと内部テキストのDOM要素をクリックできます。

内部テキストが2つ以上のレベルでラップされている場合はどうなりますか?それは機能しますか?例えば:

<a href='xxxxxx'><span>my inner text</span></a>

私は以下を試しましたが、どちらも機能しないようです。

clicklabel('my inner text','a')
clicklabel('my inner text','a/span')
4

5 に答える 5

2
clicklabel('my inner text','a span')
于 2012-08-11T18:37:40.837 に答える
1

casperjs docs clickLabelによると、2 番目のパラメーターはノード名です。あなたの場合、これは「スパン」であり、セレクターは必要ありません。代わりにクリックを使用し、css セレクターの代わりに XPath を使用することもできます。

var x = require('casper').selectXPath;
this.click(x('//span[text()="my inner text"]'));
于 2012-12-04T20:07:26.410 に答える
0

href属性が一定であることがかなり確実な場合は、次のようなクリックを使用してください。click("a[href='xxxxx']");

そうでなければあなたは試すことができますclickLabel('my inner text','span')

両方が失敗した場合は、フレームを使用しているページにいないことを確認してください。その場合は、http://casperjs.org/api.html#casper.withFrameで処理方法を確認してください。

幸運を。

于 2013-03-05T15:07:01.467 に答える
0

直接使用できます:

clickLabel('my inner text','span');

うまくいかない場合は、次のようにクリックしてから 5 秒以上待ってみてください。

this.wait(5000, function() {
        this.echo("I've waited for 5 seconds.");
    });

私も同じ問題に直面していたので、5秒間待つとうまくいきました。

于 2015-12-01T13:18:54.397 に答える