2

JavaScript を使用して Web ページへのアクセスを自動化したい場合は、このIMacroスクリプト ツールがあります。

ローカルの.txtファイル(.cvsファイルではなく、適切にフォーマットされていない..おそらく正規表現で検索したい..)からJavaScriptを読み取らせ、その読み取りに基づいて、スクリプトIMacros で何らかの処理を行います (たとえば、Web サイトの URL を呼び出すなど)。

これをどのように行うことができるか考えていますか?私はすべてをローカルで行っており、それは私のローカル ブラウザがローカル ハード ドライブから読み取っている..どうにかできるはずです..しかし、どのように?

4

4 に答える 4

3

はい、imacros で実行できますが、javascript.js ファイルから呼び出す必要があります。コンテンツを 1 つのブロックとしてロードすると、JavaScript の indexOf メソッドを使用してテキスト内の文字列を検索し、if ステートメントを実行できます。テキストの例 (txt ファイル内): "hello world!"

var load;
load =  "CODE:";
load +=  "set !extract null" + "\n"; 
load +=  "SET !DATASOURCE text.txt" + "\n"; 
load +=  "SET !DATASOURCE_COLUMNS 1" + "\n"; 
load +=  "SET !DATASOURCE_LINE 1" + "\n"; 
load +=  "SET !extract {{!col1}}" + "\n";
iimPlay(load);
var s=iimGetLastExtract(0);
var index=s.indexOf("w");
if (index>0){
do your code;
}
于 2013-02-10T20:19:19.893 に答える
1

ファイルの Activex オブジェクトは IE 以外のブラウザではサポートされていないため、xml http リクエストを使用する必要があります。

このコードは、ローカルの txt やその他のファイルを読み込んでも問題なく動作します。

f();
function f()
{
    var allText =[];
    var allTextLines = [];
    var Lines = [];
    var txtFile = new XMLHttpRequest();

    txtFile.open("GET", "file://D:/test.csv", true);
    allText = txtFile.responseText;
    //allTextLines = allText.split(/\r\n|\n/);//splits ur file line by line.

    //alert(allTextLines);
    txtFile.onreadystatechange = function()
    {
        if (txtFile.readyState == 4)
        {
            // Makes sure it's found the file.
            allText = txtFile.responseText;
            allTextLines = allText.split(/\r\n|\n/);

            alert(allText);
        } else { //alert("Didn't work"); 
        }
    }
    txtFile.send(null)
}
于 2011-02-03T10:13:10.073 に答える
1

私は昔ながらの方法でそれを解決しました - 行ごとに読む:

function read_file(path) {
    var content = '', l = 1, f, res = '';

    do {
        content += res && (res + "\n");
        f = "CODE: "+"\n";
        f += "SET !EXTRACT null" + "\n"; 
        f += "SET !DATASOURCE \""+path+"\" "+"\n";
        f += "SET !DATASOURCE_COLUMNS 1" + "\n"; 
        f += "SET !DATASOURCE_LINE " + l + "\n"; 
        f += "SET !EXTRACT {{!col1}}" + "\n";
        iimPlay(f);
        res = iimGetLastExtract();
        l++;
    } while (res && res != '#EANF#');

    return content;
}

var file_conten = read_file('/home/user/iMacros/templates/some_file.txt');

今後の読者の参考になれば幸いです^_^

于 2015-09-03T10:25:59.833 に答える