質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Google Chrome OS

Google Chrome OSは、Google社が開発するオープンソースのオペレーティングシステムです。Linuxベースで、同社のWebブラウザーであるGoogle Chromeの利用を目的としています。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

Q&A

解決済

1回答

8265閲覧

起動されたChromeのオブジェクトを取得できない【VBA】

m-nm0n

総合スコア15

Google Chrome OS

Google Chrome OSは、Google社が開発するオープンソースのオペレーティングシステムです。Linuxベースで、同社のWebブラウザーであるGoogle Chromeの利用を目的としています。

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

0グッド

0クリップ

投稿2020/08/18 05:21

ExcelVBAでChromeを操作しています。
VBAより、あるWebページのボタンをクリックすると、自動で新しいタブが追加されます。
クリックボタンのある元のページのタブもそのまま残っています。

この新しいタブのIEオブジェクトを取得したいのですが、できません。
コードの一部を以下に載せます。

VBA

1Declare Sub mouse_event Lib "user32" ( _ 2ByVal dwFlags As Long, _ 3Optional ByVal dx As Long, _ 4Optional ByVal dy As Long, _ 5Optional ByVal dwDate As Long, _ 6Optional ByVal dwExtraInfo As Long) 7 8Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long 9 10Const MOUSE_LEFTDOWN = &H2 '10進数の2 11Const MOUSE_LEFTUP = &H4 '10進数の4 12 13Const MOUSE_RIGHTDOWN = &H8 '10進数の8 14Const MOUSE_RIGHTUP = &H10 '10進数の16 15 16 17'待機 18 19Private Declare Sub Sleep Lib "kernel32" (ByVal ms As Long) 20 21 22Sub hurimawatch_auto_tool() 23 24Dim time As Long 25 26'URLを開く 27 28 Dim driver As New Selenium.WebDriver 29 driver.Start "chrome" 30 driver.Get "https://www.furimawatch.net/tool/#!/login" 31 driver.FindElementByCss("body > div.container > div > button:nth-child(1)").Click 32 33 34 time = 2000 35 36 Sleep time 37 38 driver.FindElementByCss("#identifierId").SendKeys "メールアドレス" 39 driver.FindElementByCss("#identifierNext > div > button > div.VfPpkd-RLmnJb").Click 40

具体的には、こちらのサイト「https://www.furimawatch.net/tool/#!/login」 のメニュー「googleでログイン」にて新しいウィンドウが開くので、メールアドレス欄に入力後、「次へ」のボタンをクリックする操作を行おうとしているのですが、メールアドレス欄のCSSを指定しても、「セレクタが存在しない」というエラーが出てしまいます。

VBA

1 driver.FindElementByCss("#identifierId").SendKeys "メールアドレス" 2 driver.FindElementByCss("#identifierNext > div > button > div.VfPpkd-RLmnJb").Click

イメージ説明
イメージ説明

ネットで調べても情報が見つからず、行き詰まっています。
原因・対応策などを教えていただけますでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

これでどうでしょうか?

VBA

1Dim driver As New Selenium.WebDriver 2driver.Start "chrome" 3driver.Get "https://www.furimawatch.net/tool/#!/login" 4driver.FindElementByCss("body > div.container > div > button:nth-child(1)").Click 5 6 7driver.SwitchToNextWindow 8 9Debug.Print driver.Url 10 11' 前のWindowに戻る 12'driver.SwitchToPreviousWindow 13 14Debug.Print driver.Url 15

投稿2020/08/18 13:11

Reach

総合スコア733

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m-nm0n

2020/08/18 14:20

ありがとうございます! 解決しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問