[[20200711112208]] 『ChromeでSelenium basicを利用したサイトログイン』(みんみんぜみ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ChromeでSelenium basicを利用したサイトログインができない』(みんみんぜみ)

webスクレイピングをしようとしているのですが、CSSやHTMLは初心者なのでどれがCSSやidなのかなどわかりません。FindElementBy???("???")のところが何を指定してやればいいのかわかりません。。

ウェブブラウザをChrome(Microsoft EdgeでもOK)を使用しています。※IEではありません。Selenium basicをインストールし、参照設定済みです。

サイト名:大阪ガスのマイページ
https://services.osakagas.co.jp/login/index.php?action_login=true&p=http%3A%2F%2Fservices.osakagas.co.jp%2Fportal%2Fmypage%2F##
このサイトにログイン情報を入力し先に進む動作を行いたいのですが、「ログインID」の入力自体がうまくできません。下記マクロを実行すると

実行時エラー'7'
NoSuchElementError
Found for Id=large になってしまいます。
入力欄の情報はinput.large.input-required.half-chara.over6

Sub sample()

    Dim driver As New Selenium.WebDriver
    driver.Start "chrome", "https://services.osakagas.co.jp/login/index.php?action_login=true&p=http%3A%2F%2Fservices.osakagas.co.jp%2Fportal%2Fmypage%2F##"
    driver.Get "/"
    driver.FindElementById("large").SendKeys "sample"
    Stop '確認するため
    driver.Close
    Set driver = Nothing
End Sub

< 使用 Excel:Office365、使用 OS:Windows10 >


    driver.FindElementByCss(".large.input-required.half-chara.over6").SendKeys "sample1"
    driver.FindElementByCss(".large.input-required.over8").SendKeys "sample2"
とかじゃないですか?

(γ) 2020/07/11(土) 13:02


(y)さん!ありがとうございます。以下のマクロで改善しました。大変助かりました!
ところで、なぜ(".large.input-required.half-chara.over6")だと判別したのですか??
.largeのところで.(ドット)から始まるとかが不明です。また開発者ツールとか使ったはずですが、どのような方法や流れで調べ上げたのですか??教えていただければありがたいです。

Sub sample()

    Dim driver As New Selenium.WebDriver
    driver.Start "chrome", "https://services.osakagas.co.jp/login/index.php?action_login=true&p=http%3A%2F%2Fservices.osakagas.co.jp%2Fportal%2Fmypage%2F##"
    driver.Get "/"
    driver.FindElementByCss(".large.input-required.half-chara.over6").SendKeys "sample1"
    driver.Wait 2000
    driver.FindElementByCss(".large.input-required.over8").SendKeys "sample2"
    driver.Wait 2000
    driver.FindElementById("next").Click
    driver.Wait 2000

    Stop '確認するため
    driver.Close
    Set driver = Nothing
End Sub
(みんみんぜみ) 2020/07/11(土) 13:17

ドットをつけてclassNameを指定するのは、CSSセレクタの仕様じゃないですか?詳しく知りませんが。
開発ツールというか、chromeで「ページのソースを表示」を実行しただけです。

(γ) 2020/07/11(土) 13:26


へぇー。そんな方法があったんですねぇ。。。
F12でデベロッパーツールを使っていましたが、もしかしたらソース表示のほうが早いかもですね。

CSSの要素だとかタグだとかは少しわかるのですが、もう少し勉強してみます。
CSSやHTMLのどこのカテゴリーを勉強したら良いのか等わかる方いましたら、教えていただければ幸いです。

(みんみんぜみ) 2020/07/11(土) 14:00


 >CSSやHTMLのどこのカテゴリーを勉強したら良いのか
人に聞くこともないのでは。
ネットで検索すると多数の情報がありますよ。
その中で自分に見合ったものを探したらどうでしょう。
(NANA) 2020/07/12(日) 12:29

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.