忍者ブログ

ななこ

クロムのWebdriverが合わないのでEdgeを使って登録してみた

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

クロムのWebdriverが合わないのでEdgeを使って登録してみた

久しぶりに動かしたらChromeとWebdriverのバージョンがどうにも合わなくなったので、Edgeを使うように変更しました。
作動させる前に、手動でwebdriverをインストールする。
その他、アカウントやパスワードを差し替える。
これで11/28現在動いて数十個クーポン登録できました。

---以下VBAマクロ

Sub ベネフィットステーションnanaco登録マクロ()

    Dim Driver As New Selenium.WebDriver
    Dim target As Range
    Dim myBy As New By
    Dim nanacoURL As String
    Dim flag As Boolean
    
    

'クロムのWebdriverのバージョンが合わないのでEdgeを使う
    Driver.Start "edge"
'Driver.Start "chrome"

    Driver.Get "https://mypage.bs.benefit-one.inc/mypage/coupon/"

 '自分のべネアカに変える
    Driver.FindElementByCss("#username").SendKeys "XXXXXXXX"

'自分のパスワードに変える   
    Driver.FindElementByCss("#password").SendKeys "XXXXXXXX"
    
    Driver.FindElementByCss("#password-login-btn").Click
    
    Driver.Wait 2000
    
'   マイクーポンに以前のクーポンがある場合 nth-child(X) のXを変えるといいかも
'  実際に動かして確認

    Driver.FindElementByCss("#capture > main > div > div.mb-6 > ul > li:nth-child(1) > div > div:nth-child(2) > h3").Click

'Driver.FindElementByCss("#capture > main > div > div.mb-6 > ul > li:nth-child(X) > div > div:nth-child(2) > h3").Click
   
    Driver.Wait 1000

    i = 1
     

  Do

 
    Driver.FindElementsByClass("c-checkbox__box")(i).Click
            
            i = i + 1
           
           xpath1 = "/html/body/div[1]/div/div[1]/main/div/div/div[1]/div/div[2]/div/div/ul/li["
            
            xpath3 = "]/div/div/label/div[1]"
      
            xpath2 = i
            
            xpath4 = xpath1 & xpath2 & xpath3

          
             flag = Driver.IsElementPresent(myBy.XPath(xpath4))

     Loop Until flag = False
     
Driver.FindElementByCss("#capture > main > div > div > div.p-mypage-coupon__header > div > div:nth-child(2) > div > div > div > div > button").Click
     
    Driver.Wait 1000
    
    For j = 1 To i - 1
            
            xpath1 = "/html/body/div[1]/div/div[1]/main/div/div/div[1]/div[2]/div[2]/div/div[1]/div[2]/ul/li["
            
            xpath3 = "]/div/div[3]/p[2]/span"
      
            xpath2 = j
            
            xpath4 = xpath1 & xpath2 & xpath3

          
    ActiveSheet.Cells(j, 1) = Driver.FindElementByXPath(xpath4).Text
    
    Next j
    
    k = 1

    Do
    
        nanacoURL = Cells(k, 1)
        
        If nanacoURL = "" Then Exit Do
     
        Driver.Start "edge"

        Driver.Get nanacoURL
   
        'nanaco番号入力
        
        Driver.FindElementByCss("#nanacoNumber01").SendKeys "XXXXXX"
    
        '会員メニュー用パスワード入力
        
        Driver.FindElementByCss("#pass").SendKeys "XXXXXX"
    
        Driver.FindElementByCss("#loginPass01").Click
        
        Driver.FindElementByCss("#gift > a").Click
    
        Driver.FindElementByCss("#register > form > p > input[type=image]").Click
      
        Driver.SwitchToNextWindow
    
        FWFlag = False
    
        Do
        
            FWFlag = Driver.IsElementPresent(myBy.Css("#submit-button"))
        
            Driver.Wait 1000

        Loop Until FWFlag = True

        Driver.FindElementByCss("#submit-button").Click
    
        FWFlag1 = False
        
        FWFlag2 = False
           
        Do
        
            FWFlag1 = Driver.IsElementPresent(myBy.Css("#nav2Next > input[type=image]:nth-child(2)"))
            
            FWFlag2 = Driver.IsElementPresent(myBy.Css("#navNext > a > img"))
               
            Driver.Wait 1000
        
        Loop Until FWFlag1 = True Or FWFlag2 = True
         
        If FWFlag1 = True Then

            Driver.FindElementByCss("#nav2Next > input[type=image]:nth-child(2)").Click
           
            Driver.Quit
    
            Set Driver = Nothing
    
        Else
    
            Driver.Quit
    
            Set Driver = Nothing
    
        End If

       k = k + 1

    Loop
End Sub
ブログランキング・にほんブログ村へ
にほんブログ村 その他生活ブログへ
にほんブログ村 その他生活ブログ 電子マネーへ
にほんブログ村 その他生活ブログ 節約・節約術へ
にほんブログ村 IT技術ブログへ
にほんブログ村 IT技術ブログ VBAへ
PR

コメント

プロフィール

HN:
No Name Ninja
性別:
非公開

カテゴリー

P R

フリーエリア