0

ExcelVBAの初心者です。

SeleniumWebDriverで、サイトからログインし別ウインドウで開かれるサイトの操作を行いたいです。

その際、別ウインドウで開かれる要素をXPathでクリックしたいのですが、下記の「VBAエラー」が生じます。

下記の「HTML」上の「拾いたい要素」を取得したいのですが、どのようにすれば取得できるか、お教えいただきたく存じます。

「VBA」では太字のところで立ち止まっている状況です。。。

-------------------------------------------------------------------VBA-----------------------------------------------------------------------

Dim driver As New Selenium.WebDriver

Public Sub メニュー選択()

driver.Start "Edge"
driver.Get "ログインURL"

driver.FindElementsByName("ユーザーID")(1).SendKeys "ユーザーID"
driver.FindElementsByName("パスワード")(1).SendKeys "パスワード"

driver.FindElementsByName("ログインボタン")(1).Click

driver.SwitchToNextWindow

Dim 該当値 As Variant
Dim 格納値 As WebElement

Debug.Print driver.FindElementByXPath("//a[contains(text(), '該当するテキスト')]").Text

For Each 該当値 In driver.FindElementByXPath("//a[contains(text(), '該当するテキスト')]")
Debug.Print 該当値.Text
If 該当値.Text = "該当するテキスト" Then
Set 格納値 = 該当値.Value
格納値.Click
Exit For
End If
Next

End Sub

-----------------------------------------------------------------------HTML------------------------------------------------------------------

<a class="font2" href="javascript:top.toggleFolder('0101',1)" onmouseover="javascript:top.checkMouseMove('');return true" style="text-decoration:none">
<img class="font2" src="cont.gif" width="16" height="16" alt="" onmouseover="javascript:top.checkMouseMove('');return true" border="0">
<img class="font2" src="closed.gif" width="14" height="14" onmouseover="javascirpt:top.checkMouseMove('');return true" alt="" border="0">

&nbsp;該当するテキスト
</a>

-------------------------------------------------------------------------VBAエラー-----------------------------------------------------------------
実行時エラー '7':

NoSuchElementError
Element not found for XPath=//a[contains(text(), '該当するテキスト')]

---------------------------------------------------------------------------拾いたい要素-------------------------------------------------------------

outerHTML = &nbsp;該当するテキスト
XPath = /html/body/table/tbody/tr/td/nobr/pre/a[2]/text()

namirai ベストアンサーが解除されました
回答とコメントは、会員登録(無料)で閲覧できるようになります。