Excel VBA + Selenium でスクレイピングのプログラムを作ろうとしています。
初めにサイトにログインしないといけないのですが、ログインフォームに
IDとパスワードを入力するところで躓いてしまいました。
FindElementByXPathメソッドを使ってログインIDを入力するテキストボックスを
指定したのですが、XPath、フルパスともに失敗してしまいます。
いずれの場合も出てきたエラーメッセージは以下のとおりです。
NoSuchElementError
Element not found for XPath...
以下は他のサイトにあったサンプルコードをベースに作ったものです。
----- ここから共通 -----
Dim Driver As New Selenium.WebDriver
Dim Elm As Selenium.WebElement
Dim sKeys As New Selenium.Keys
Dim strURL As String On Error GoTo ErrHandler Main = False ' SeleniumでChromeを使うことを宣言 Driver.Start "chrome" ' タオバオログインページへ遷移 strURL = "https://world.taobao.com/wow/z/oversea/SEO-SEM/ovs-pc-login" Driver.Get strURL
----- ここまで共通 -----
パターン①XPathで指定
' ①ユーザーID入力(XPath)
Set Elm = Driver.FindElementByXPath("//*[@id=""fm-login-id""]")
Elm.SendKeys Sheets("menu").Range("d3")
パターン②フルパスで指定
' ②ユーザーID入力(フルパス)
Set Elm = Driver.FindElementByXPath("/html/body/div[1]/div/div[2]/div/form/div[1]/div[2]/input")
Elm.SendKeys Sheets("menu").Range("d3")
①のパターンでも②のパターンでもFindElementByXPathのところで前述の
エラーが発生します。
対象のサイトは中国のECサイトタオバオのログインフォームです。
URLは以下です。
https://world.taobao.com/wow/z/oversea/SEO-SEM/ovs-pc-login
どこが間違っているのかわからない状態です。
IDとパスワードを入力して、ログインボタンが押下できればいいので、使用するメソッドは
FindElementByXPathにこだわってもいません。
記述間違いもしくは別の方法をご教授いただければ幸いです。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー