こんばんは。
下記スクリプトですが、「★★★」の個所で「オブジェクトでサポートされていないプロパティまたはメソッドです。」となってしまいます。なぜでしょうか?また、回避するにはどうしたらいいでしょうか?
やりたいことは、"rd"を含むURLだけリストしないのです。
--
var IE = WScript.CreateObject("InternetExplorer.Application");
var URL = "http://www.yahoo.co.jp";
IE.Navigate(URL);
WaitLoad();
var fs = WScript.CreateObject("Scripting.FileSystemObject");
var stream = fs.CreateTextFile("yahoo.txt");
var objTagsAs = IE.Document.all.tags("A");
for (i = 0; i < objTagsAs.length; i++)
if (objTagsAs[i].match(/rd/i) != -1) //★★★
stream.Write(objTagsAs[i] + "," + objTagsAs[i].innerText + "\r\n");
stream.Close();
function WaitLoad() {
var stat, dstart;
stat = 0;
while(true)
if(stat == 0) {
if(!IE.Busy)
if(IE.Document.readyState == "complete") {
dstart = (new Date()).getTime();
stat = 1;
}
}
else {
if(!IE.Busy &&
IE.Document.readyState == "complete") {
if((new Date()).getTime() >= dstart + 3000)
break;
}
else
stat = 0;
}
}
No.1ベストアンサー
- 回答日時:
matchということは、対象が文字列でないと使えないかと。
objTagsAs[i].だけでは、それはi番目のAタグオブジェクト自身を指しているだけで、文字列では無いから、という理由のエラーかと思われますが?違うかな?
それであれば、Aタグの前後を特定のタグで括るなりして、その内容をinnerHTMLで取得して、その文字列を対象にすればmatchが使えるかも。(アイディアだけですが。。。)
ありがとうございます。
型変換
if (String(objTagsAs[i]).match(/rd/i) != -1) //★★★
または
if ((objTagsAs[i]+"").match(/rd/i) != -1) //★★★
とすることで解決できました。
次の行の
stream.Write(objTagsAs[i] + "," + objTagsAs[i].innerText + "\r\n");
で出力できていたので、String型だと思っていたのですが、
「","」の部分で型変換されていたようですね。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- Ruby vscode 文字化け 1 2022/05/21 19:17
- JavaScript gasについて 1 2022/05/31 21:51
- JavaScript プログラムがうまく動きませんレビューお願いします 1 2022/07/10 05:08
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマフォではボタンを表示させ...
-
なぜmatchメソッドがエラーにな...
-
gas スプレッドシートがアクテ...
-
イラレでナンバリングする方法
-
ローカルにあるファイルを検索...
-
【JavaScript】数当てゲームを...
-
vb.netでの記述方法について 以...
-
gas 日付けの加算
-
var exports = exports || {}; ...
-
JavaScriptで平日のみをカウン...
-
GASのエラー「undefined からプ...
-
1日1回だけ引けるjavascriptお...
-
C#OpenCv V4にのエラーに関する...
-
ASP.NETのコントロールの値をJa...
-
jsによって検索プルダウン、都...
-
GASでundefinedエラーが出ます
-
JavaScript でのリアルタイム時...
-
翌月を取得するGASが分かりません
-
nullまたはオブジェクトではあ...
-
極小コードに挑戦!part2 数列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
var exports = exports || {}; ...
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
GASでGoogleフォームの自動返信...
-
HTMLで作った時報アプリが動き...
-
javascriptでテーブルに追加し...
-
html javascript リンク先アド...
-
【西暦等の変換】
-
ローカルにあるファイルを検索...
-
ASP.NETのコントロールの値をJa...
-
なぜmatchメソッドがエラーにな...
-
翌月を取得するGASが分かりません
-
gas スプレッドシートがアクテ...
-
ASP.NET MVCでObjectをjsに渡す
-
カンマで終わってるのはセミコ...
-
JavaScriptで文字列の特定文字...
-
javascriptでiframeのURL変更は?
-
APIを使って埋め込んだグーグル...
おすすめ情報