
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ランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
EXCEL VBAマクロ中断でデバッグ...
-
VBからAccessへの接続でエラー
-
ADODB.Streamを使用してUTF-8を...
-
エクセルエラー13型が一致しま...
-
エラー1004 PDFの保存ができま...
-
なぜエラーになるのでしょうか...
-
エクセルVBA、フリーフォームで...
-
psapi.dllのGetModuleBaseName...
-
エクセル VBAの構文について
-
Excelの条件式について
-
Amazon api について。JANコー...
-
IEのダウンロード通知バーのVBA...
-
VBA IEの操作 ClassNameでエラ...
-
Exce2007でBorder クラスの Lin...
-
エラーでつまってます・・・お...
-
VBAでのエラー
-
VBS実行時エラー オブジェクト...
-
Access2003、2010間の非互換?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
【マクロ】エラー【#DIV/0!】が...
-
実行時エラー -'-2147417848
-
実行時エラー3001「引数が間違...
-
実行時エラー48発生時のDLL特定...
-
【Excel VBA】マクロをボタンに...
-
マクロについて教えてください...
-
なぜこんな初歩的なVBAのIf文で...
-
VB6+SQL サーバー 2000 で 実行...
-
OLEDB.NETで接続できない
-
EXCEL/VBAで、自分のPCだけエラ...
-
ExcelVBA Range クラスの Page...
-
Invalid procedure call or arg...
-
VBAでのエラー
-
AccessVBAでExcelを起動し、罫...
-
[Delphi] データセットは閉じて...
-
VBAで実行時エラー'424' オブジ...
-
なぜエラーになるのでしょうか...
-
ADODB.Streamを使用してUTF-8を...
おすすめ情報