VBAとSelenium Basicでスクレイピングを行っています。
モーダルウィンドウ上のボタンをクリックしたいのですが、うまくできません。
該当ボタンがshadow rootの要素であるため、ExecuteScriptを使用し、
returnされたものを変数にセットして「ゲストとして続ける」ボタンをクリックしようとしていますが、
以下のVBAのSet shadowRootの行でエラーが出ます。
どうすれば解決できるでしょうか。
宜しくお願いいたします。
error
実行時エラー '424': オブジェクトが必要です。
vba
Dim shadowRoot As Selenium.WebElement 'Scriptを起動して指定したShadow-root部分をセット Set shadowRoot = driver.ExecuteScript _ ("return document.querySelector('#root > kat-modal > div > kat-button.spacing-top-small')") shadowRoot.Click
html
<kat-modal no-close-icon="true" visible="true" class="redirect-modal" aria-role="dialog" aria-modal="true" aria-labelledby="title"><img src="https://m.media-amazon.com/images/G/01/rainier/nav/sc-unified._CB341165134_.png"> <div slot="footer" class="redirect-modal-content"> <div> <kat-label text="サインインすると、FBA料金シミュレーターに無制限にアクセスできます" variant="default"><span slot="private-light-dom"><label hidden=""><!----> <span part="label-text"><!---->サインインすると、FBA料金シミュレーターに無制限にアクセスできます<!----></span> <!----> </label> </span> </kat-label> </div> <kat-button class="spacing-top-medium" label="セラーセントラルにサインインします" variant="primary" size="base" type="button"></kat-button> <div class="redirect-divider-block"> <kat-divider variant="athens" class="redirect-divider"></kat-divider> <kat-label text="または" class="redirect-divider-text" variant="default"><span slot="private-light-dom"><label hidden=""><!----> <span part="label-text"><!---->または<!----></span> <!----> </label> </span> </kat-label> <kat-divider variant="athens" class="redirect-divider"></kat-divider> </div> <kat-button class="spacing-top-small" label="ゲストとして続ける" variant="tertiary" size="base" type="button"></kat-button> </div> </kat-modal>
まだ回答がついていません
会員登録して回答してみよう