初めまして。TERATAILを利用するのは初めてです。
教えていただきたいこと
(Seleniumを使えばいいと言う意見をいただきました。そのおかげで進展があったため、質問内容を大幅に変更させていただきます!)
agoutiというライブラリを使って、ウェブの自動化を図りました。
https://admin-official.line.me/
このサイトに自動でログインするものです。
以下のコードで、ログインの一歩手前まではできました。
go
1package main 2 3import ( 4 "github.com/sclevine/agouti" 5 "log" 6 "time" 7) 8 9func main() { 10 // ブラウザはChromeを指定して起動 11 driver := agouti.ChromeDriver(agouti.Browser("chrome")) 12 if err := driver.Start(); err != nil { 13 log.Fatalf("Failed to start driver:%v", err) 14 } 15 defer driver.Stop() 16 17 page, err := driver.NewPage() 18 if err != nil { 19 log.Fatalf("Failed to open page:%v", err) 20 } 21 // ログインページに遷移 22 if err := page.Navigate("https://admin-official.line.me/"); err != nil { //ログイン画面を開く 23 log.Fatalf("Failed to navigate:%v", err) 24 } 25 26 id := page.FindByID("id") //メアドボックス 27 password := page.FindByID("passwd") //パスワードボックス 28 id.Fill("ログインするときのメールアドレス") //メアドボックスにメアドを入力 29 password.Fill("ログインするときのパスワード") //パスワードボックスにメアドを入力 30 if err := page.FindByClass("MdBtn03Login").Submit(); err != nil { //ログインサブミットのボタン 31 log.Fatalf("Failed to login:%v", err) 32 } 33 time.Sleep(3 * time.Second) //ウィンドウを3秒保持 34} 35
サブミットをすると、このようにPINコードを打つ画面が出てきます。これをコンソールに出力したいのですが、
go
1page.FindByClass("mdLYR04PINCode").Text() //mdLYR04PINCodeはこの8484というPINコードのクラスです
このコードを実行しても、 CSS: class not foundと言われてしまいます
これはおそらくHTMLが更新されたからでしょう。
しかし、seleniumは見た感じHTMLが更新されても同時にpageも更新されますよね?
なのに、試しにスクリーンショットを取ってもこのポップアップは表示されません。
なぜこの本人確認POP UPは幽霊のように実体がないのでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/16 09:18
退会済みユーザー
2017/10/16 09:40
2017/10/16 09:46