SeleniumBasicでinvalid selectorエラーが表示される
SeleniumBasicでwebDriverを使用して、スクレイピングした際、
invalid selectorエラーが出る場合があります。
invalid selectorエラーが出る場合があります。
以前までは動いていたのですが、どこかのVerUPで動かなくなってしまったようです。
Compound class names not permittedとは
「invalid selector: Compound class names not permitted」を直訳すると
「無効なセレクター:複合クラス名は許可されていません」です。
Web上のClass要素が「aaa bbb」のように、空白半角スペースが入っているのが原因です。
空白で区切る=複合クラスとなる為、エラーになるため代替案を考える必要があります。
Compound class names not permitted解決するサンプルコード
driver.FindElementByClass("aaa bbb").Click '→Compound class names not permitted driver.FindElementByCss(".aaa.bbb").Click '「.」で区切ることで複合クラスも処理可能。
要素の頭にドット「.」空白スペースもドット「.」を入れましょう。
こちらで指定要素をクリックしたり、データ取得することも可能です。
SeleniumBasicについて
Internet Explorer11 のサポート期限が2022年6月までと、スクレイピング自体入れ替えていく必要があります。
今一番スムーズなのはSeleniumBasicを使用したスクレイピングと考えます。
但し、VBAでのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。
コメント