1

私はJavaScriptの経験がありません。JavaScriptを使用するCasperJSで関数を作成しようとしています。

検索結果ページからリンクをクリックしようとしています。タグには<a href>id がありませんが、 で<h3 />囲まれてい<div id="some_id"/>ます。

基本的に、コードは次のようになります。

<div id="result_0">
    <div />
    <div />
    <h3 class="...">
        <a href="some_link">
        .
        .
        </a>
    </h3>
.
.
</div>

JavaScriptでそのリンクをクリックする方法を知りたいです。

私はこのようにしてみました:

document.getElementById('result_0').getElementsByTagName('div')[2].getElementsByTagName('a')[1].click();

しかし、これはうまくいかないようです。あなたたちは手伝ってくれませんか?

編集: スクリプト全体へのリンクは次のとおりです: https://github.com/ctrl-shift-esc/randomamazonshopper/blob/master/myscript.js

4

3 に答える 3

3

ここでは、CSS セレクターとthenClickメソッドが必要です。このようなものが動作するはずです:

casper.thenClick('#result_0 h3:first-child a');
于 2013-08-04T20:30:41.620 に答える
2

以下を保持する div の ID を使用できます<h3>

var oParentDiv = document.getElementById("some_id");
var arrHeaders = oParentDiv.getElementsByTagName("h3");
if (arrHeaders.length !== 1) {
    alert("no header or more than one");
} else {
    var oHeader = arrHeaders[0];
    var arrLinks = oHeader.getElementsByTagName("a");
    if (arrLinks .length !== 1) {
        alert("no link or more than one");
    } else {    
        var oLink = arrLinks[0];
        oLink.click();
    }
}
于 2013-08-04T11:46:27.557 に答える