TruClient プロトコル (Firefox) を使用して Vugen でスクリプトを作成しているEvaluate JS on object
ときに、次のようなオブジェクトを見つける手順がありますobject.innerHTML
。
Foo Bar<br />BAZ
<br />
このテキストから抽出BAZ
して他の場所で使用する必要があるため、正規表現を使用して抽出するために、JS 部分に次のコードがあります。
var regex = /Foo\s+Bar<br\s+\/>(.*)\s*<br \/>/i; // Shows as red in the TC JS editor, but no error icon shows, so not sure what the error may be.
var matches = [];
var match;
matches = regex.exec(object.innerHTML);
match = matches[matches.length - 1];
window.alert(match); // For debugging purposes
ただし、スクリプトを実行すると、次のエラーで失敗します。
** 6: Evaluate JavaScript var regex = /Foo\s+B... alert(match); on Foo Bar
** failed - an argument is invalid: 'Code': JavaScript exception
'TypeError: matches is null' during evaluation
この正規表現をここでテストしましたが、期待どおりに動作します。
webtoolkit online JS testerを使用して、コードで次のバリアントを正常にテストし、必要なものが抽出されることを確認しました。
var data = "Foo Bar<br />BAZ<br />";
var regex = /Foo\s+Bar<br\s+\/>(.*)\s*<br \/>/i;
var matches = [];
var match;
matches = regex.exec(data);
match = matches[matches.length - 1];
alert(match);
これは期待どおりに返さBAZ
れます。
編集
当初、これは Vugen/TruClient 固有の問題であると想定していました。しかし、それについて寝て、Michael Galos の回答 (以下) を読んだ後、これは一般的な Javascript の問題であることに気付き、これにも Javascript タグを追加しました。