
こんばんは。
下記スクリプトですが、「★★★」の個所で「オブジェクトでサポートされていないプロパティまたはメソッドです。」となってしまいます。なぜでしょうか?また、回避するにはどうしたらいいでしょうか?
やりたいことは、"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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#OpenCv V4にのエラーに関する...
-
Google AJAX Feed API
-
イベントが初めの一回しか起き...
-
gas スプレッドシートがアクテ...
-
【javascript】正規表現で括弧...
-
イラレでナンバリングする方法
-
ジェネレーターの作り方
-
setTimeoutによる繰り返しが途...
-
jQuery UIでドラッグ制限
-
google apps scriptの終了のさせ方
-
JavaScriptでテーブル内?に矢...
-
ボタンをクリックすると数が増...
-
javascript の 命令文の記述で...
-
functionから別のfunctionを実...
-
同じIDで定義した要素の配列を...
-
ActiveXobjectが作成できない
-
ラジオボタンやコンボボックス...
-
<a>タグのテキストを取得
-
正規表現で半角数字1桁のみを全...
-
【Jquery】changeイベント毎にa...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C#OpenCv V4にのエラーに関する...
-
C#で、ContextMenuStripに動的...
-
食材の期限を管理するためにGAS...
-
javaScriptのコードの修正をお...
-
メールフォームの日付入力フォ...
-
GASでundefinedエラーが出ます
-
var exports = exports || {}; ...
-
google apps scriptの終了のさせ方
-
JavaScriptでテーブル内?に矢...
-
ジェネレーターの作り方
-
HTMLで作った時報アプリが動き...
-
gas スプレッドシートがアクテ...
-
ASP.NET MVCでObjectをjsに渡す
-
setTimeoutによる繰り返しが途...
-
イラレでナンバリングする方法
-
定積分の近似値を計算する関数c...
-
pdfに丸秘などのスタンプを...
-
【JavaScript】数当てゲームを...
-
シンプルなweb版スタンプラリー...
-
翌月を取得するGASが分かりません
おすすめ情報