
ExcelでSeleniumBasicを使ってChromeを動かしています。
HTMLのidエレメントは操作できますが、それ以外のclassエレメント等はエラーとなります。
OKの例:driver.FindElementById("AAA").Click
NGの例:driver.FindElementByClass("BBB").Click
エラーの内容
実行時エラー'438':オブジェクトは、このプロパティまたはメソッドを
サポートしていません。
Edge(Chrome版)についても同様でした。
環境
Windows 10 Pro. 64bit
Office 2017
Chrome 92.0.4515.107
SeleniumBasic 2.0.9.0
解決方法をご教示して頂きたくお願いします。
No.3ベストアンサー
- 回答日時:
こんばんは、
driver.FindElementByClass("BBB").Click
BBBが存在するとした場合、問題があるようには思えません
エラー'7' でなく 実行時エラー'438'ですか、
このエラーの場合、参照に問題があるか、chromedriverに問題があるか、
Excelの問題なのか、、chrome、、、
ちなみにchromedriverのバージョンは何でしょう
Office 2017 って 2016の事でしょうか
Excel,Chrome,chromedriver 共に最新に更新して試すのはいかがでしょう
再現の為、ローカルでdriver.FindElementByClass を試しましたが
実行時エラー'438'は出ませんでした。以下テストコードです
Sub ChromeDriver_Selenium_Test()
'参照(事前バインディング) Selenium Type Library
'OS Windows 10 Home 20H2 64 ビット
'SeleniumBasic 2.0.9.0
'chromedriver_win32.zip 2021-06-11 Index of /92.0.4515.43/
'chromeバージョン: 93.0.4577.8(Official Build)dev (64 ビット)
'Microsoft Office Home and Business 2013 (32 ビット)
Dim driver As New Selenium.ChromeDriver
driver.AddArgument "disable-gpu"
driver.AddArgument "start-maximized"
Call driver.Start("chrome") 'Chromeテスト
driver.Get ("https://yahoo.co.jp") 'Yahooを開く
Stop
'F5でhttps://search.yahoo.co.jp/ に遷移
driver.FindElementByClass("wiCFaxBfHrpFadLQFzS55").Click
'F5でChrome終了
Stop
End Sub
再現テストを実施して頂き感謝、感謝です。
Qchan1962さんのソースコードを試しましたが、問題なく完走しました。
問題のページのHTMLソースを再度精査してしてみたいと思います。
その結果は、また報告させて頂きます。更にサポートよろしくお願いします。
No.2
- 回答日時:
>driver.FindElementByClass("BBB")
Excel VBAでやってるなら、上記コードをウォッチしてみては。
https://docs.microsoft.com/ja-jp/office/vba/lang …
No.1
- 回答日時:
全くの未経験者なので間違えてるでしょうけど。
まずはソースコードと比較して調査する物なのでは?
そして目的のものが『単独』か『複数』なのかで、
・.FindElement~
・.FindElements~
になりそうな感じかなってのはググると見つかります。
そして複数なら『何番目』に対して行いたいのかとかね。
なのでソースコードの解析が先決なのかも?
⇒テスト用に作成しててと言うならお手上げですけど。
早速の回答ありがとうございます。
それぞれ指定しているているHTMLソースのエレメントは1個です。
また、IE11では同エレメントを問題なくアクセスできています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
実行時エラー3001「引数が間違...
-
実行時エラー -'-2147417848
-
Excel VBA comboboxへの割り当て
-
VBAの実行時エラー91!どうしよ...
-
【マクロ】エラー【#DIV/0!】が...
-
EXCEL VBAマクロ中断でデバッグ...
-
VBAがブレークモードになっ...
-
VBAで、定数式が必要ですのエラ...
-
なぜこんな初歩的なVBAのIf文で...
-
なぜエラーになるのでしょうか...
-
エラーでつまってます・・・お...
-
ExcelVBA Range クラスの Page...
-
VBAでのエラー
-
VBで構造体を使うさ際の64k...
-
マクロについて教えてください...
-
Invalid procedure call or arg...
-
ExcelVBA ファイルクローズ時...
-
VBAのグラフの設定について
-
Excel VBA で End Subのところ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
【マクロ】エラー【#DIV/0!】が...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAでのエラー
-
実行時エラー -'-2147417848
-
実行時エラー48発生時のDLL特定...
-
マクロについて教えてください...
-
ExcelVBA Range クラスの Page...
-
EXCEL VBAマクロ中断でデバッグ...
-
実行時エラー3001「引数が間違...
-
EXCEL/VBAで、自分のPCだけエラ...
-
VB6+SQL サーバー 2000 で 実行...
-
VBAのエラー発生場所をメッセー...
-
ADODB.Streamを使用してUTF-8を...
-
【Excel VBA】マクロをボタンに...
-
OLEDB.NETで接続できない
-
なぜエラーになるのでしょうか...
-
INSERT INTOステートメント構文...
-
Outlook.ApplicationをCreateOb...
おすすめ情報