2018年8月31日金曜日

VB.NET Seleniumを使ってInstagram(インスタグラム)の自動ログインをするプログラミング方法


0 件のコメント :

【VB.NET】Seleniumを使って、InstagramSの自動ログインをする(Chromeバージョン)


インスタは昔APIで簡単に操作出来ましたが今は非常に難しいです。
やはりみなさん考えることは一緒で自動でいいねをしたり
自動でフォローしたりと、インスタを楽したいですよね。

自動いいねをしてくれるサイトがいろいろありますが有料です。

それだけ需要があるんだろうと、何か出来ないか見てみたら
自動ログインは簡単でした。



Imports OpenQA.Selenium

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim webC As Chrome.ChromeDriver
        Dim loginId As String = "ログインID"
        Dim loginPw As String = "ログインパスワード"

        webC = New Chrome.ChromeDriver
        webC.Navigate.GoToUrl("https://www.instagram.com/accounts/login/?hl=ja")
        Dim element As IWebElement
        element = webC.FindElementByName("username")
        element.SendKeys(loginId)
        element = webC.FindElementByName("password")
        element.SendKeys(loginPw)
        element = webC.FindElementByTagName("button")
        element.Click()

    End Sub
End Class

ログインは大体が同じでログインIDとパスワードの要素を特定出来れば
値を代入してログインボタンを押すだけです。

インスタの難しいところはほぼjavascriptだけで動的にレンダリングしてるぽいので
ソース解析が手間です。

簡単に1枚目のポストにはいいね出来ましたが
どんどん次のポストにいいねする方法はまだわかりませんでした。
取り敢えずここまでです!また調べてみます。

2018年8月28日火曜日

windows10 edgeを使うと英字キーボードになる!リモートデスクトップのときのみ!


0 件のコメント :
会社用に新たなパソコンを新調しました。
 CPUは第8世代のi7
 メモリは16GB
 ディスクはSSD512GB

それなりにパワフルなマシンスペックなので
バリバリ仕事が出来るぞ(死亡

そんなパソコンが届いたのでウキウキでセッティングを
始めたのですがイキナリ悩むポイントが。
windows10の標準ブラウザがedgeなのでいち早く
chromeにしてやろうと!

URLに
 https://www.google.co.jpと華麗に入力したら
 https'//www.google.co.jp
となってコロンが入力できません。


何これキーボード設定が壊れてるの?
コントロールパネルから設定を確認するも日本語キーボードに。
いろいろ調べてもよくわからないので何気なくリモートから
直接モニタ繋いで確認するとコロンが入力できます。


■状況としては

リモートデスクトップで接続してるときだけ
edgeのキーボード設定が英語に変わる。

です。

これをchromeで試してみましたがリモートでも
日本語キーボードのままでコロンが入力できました。



やっぱクソクソです。edgeは!
そもそも使わないので一時的にコロンが入力したいときはこの方法で出来ます。

「Shift」キーを押しながら「セミコロン」キーを押すとコロンが入力できます。


リモートでかつedgeが使いたくて仕方が無い人は対策を考えないと
いけませんが、必要ない人は一時的に入力出来ればOKですね!



2018年8月21日火曜日

Huawei P20が欲しいけどゲームが出来るか不安なのでレビューを集めてみた


0 件のコメント :
今HuaweiP9を使ってて概ね良好なんですが、
そろそろ2年経ってバッテリーがへたってきたので
Huawei P20を狙おうかと。

このタイミングでFGOを。あのFGOをやり始めたもんだから
iPhoneとandroidのゲーム処理能力に打ちひしがれてまして。
ただ、最新のHuaweiP20ならどうなんだろうと、
ブログだったりレビューだったりから情報を探してみました。


■パズドラ ◎


  ・iPhoneと同等の画面表示とプレイ感でした。
  ・パズドラは快適に動きます。

もともとP9から問題なく使えてたから大丈夫でしょう。


■ポケモンGO ◎


  ・ポケモンGoも問題ないです。
  ・PokemonGOは問題なし

これも今まで問題なかったから余裕でしょう。


■モンスト ◎


  ・モンストなどは快適に動きます。
  ・モンスト:全く問題なし

P9の頃はメニュー画面が若干重くなったりしたけど
ひっぱりハンティングはOK.なので大丈夫。


■PUBG 荒野行動 ◎


  ・PUBGも動きますね。
  ・荒野行動は当然動きます。

これはレビューを信じましょう。
P9ではあまり快適なプレイ感じゃなかったので
ちょっと不安ですが、3D性能が向上してるのでOKでしょう。


■デレステ △


  ・3D標準であれば、しばらくプレイしていても本体が熱くなったりすることもなく、満足出来るレベルです。
  ・スマホで様々な音ゲーをしていますがタップした際に鳴るタップ音が遅れてしまいます。

ふーん。


■FGO ○


  ・戦闘前の読み込みやオダチェンに不満は残るものの、宝具やガチャの動作は問題ありません
  ・宝具発動時にカットインが入る瞬間だけスルッといかず固まります。それ以外はFGOでも全く問題なく動きます。

android全般で厳しいみたいですが、HuaweiP20ならまーまーいけそうですね。
ただ、それもiPhoneと比べるとなので元々androidの人ならOK。


ってことで、音ゲー以外の主流ゲームは概ね問題なくかつ快適に遊べそうです。
ちなみにHuaweiP20Proって手もありますがメモリが違うぐらいなので
快適度はほとんど変わらないと思うから
コスパを考えるとHuaweiP20で決まりですね!


2018年8月17日金曜日

VB.NET Seleniumを使って楽天RMSの自動ログインをするプログラミング方法


2 件のコメント :

【VB.NET】Seleniumを使って、楽天RMSの自動ログインをする(Chromeバージョン)


VB.NETでWatiNを使ったWEB操作をして
楽天RMSに自動ログインする方法を前回記述しましたが
今回はSeleniumを使った方法で楽天RMSへ自動ログインする
コーディングを紹介!

Seleniumの素晴らしいところは現在もなお更新されてること。
また、WatiNがInternetExplolerを基準としてWeb操作をするのに対して
Seleniumはブラウザ問わずWeb操作が可能です。

元々IEじゃなくてGoogleChromeでいろんな操作をしたいと思ってましたが
Chromeは外部から操作できない!
なんて先入観を持ってましたがSeleniumはChromeDriverを使えば
自動操作が可能!素晴らしです。

今回はChromeで自動ログインをしてみます。

*** Seleniumを使った楽天RMSの自動ログイン(Chromeバージョン) ***


①Seleniumを入手(これはぐぐってください!)

②Selenium ChromeDriverを参照登録

③コーディング




Imports OpenQA.Selenium

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim webC As Chrome.ChromeDriver
        Dim loginId As String = "ログインID"
        Dim loginPw As String = "ログインパスワード"
        Dim userId As String = "ユーザーID"
        Dim userPw As String = "ユーザーパスワード"
        webC = New Chrome.ChromeDriver
        webC.Navigate.GoToUrl("https://glogin.rms.rakuten.co.jp/?sp_id=1")

        Dim element As IWebElement

        element = webC.FindElementByName("login_id")
        element.SendKeys(loginId)
        element = webC.FindElementByName("passwd")
        element.SendKeys(loginPw)

        element = webC.FindElementByName("submit")
        element.Click()

        element = webC.FindElementById("rlogin-username-2-ja")
        element.SendKeys(userId)
        element = webC.FindElementById("rlogin-password-2-ja")
        element.SendKeys(userPw)

        element = webC.FindElementByName("submit")
        element.Click()

        element = webC.FindElementByName("submit")
        element.Click()

        element = webC.FindElementByClassName("tac")
        element.Click()
    End Sub
End Class


WatiNよりは若干複雑に見えますがやることは同じです。
また、WatiNよりSeleniumのほうが主流なのは間違いないので
これから使う人はこれですね。

ちなみにJAVAですが参考書です。両方読める人は参考になります。


2018年8月10日金曜日

VB.NET WatiNを使ってYahooストアクリエイターproの自動ログインをするプログラミング方法


0 件のコメント :

【VB.NET】WatiNを使って、Yahooストアクリエイターproの自動ログインをする


楽天RMSに続いてYahooストアクリエイターproの自動ログインを。
YahooはビジネスIDでログインする方法と
Yahoo JAPAN IDでログインする方法があります。
今回はJAPAN IDでログインする方法のコーディングをします。


楽天と違って複数のログイン方法があるので
セッション情報からビジネスIDだったりJAPAN IDだったりと
同じURLでもログイン画面が安定しません。

必ずJAPAN IDからログイン出来るように処理を入れること。
また、Yahooの仕様なのかブラウザのbusy情報が取れないのか
読み込み中の判定がされないまま次の処理へ行くので
適宜waitを入れることが必要です。

*** WatiNを使ったYahooストアクリエイターproの自動ログイン ***


①WatiNを入手(これはぐぐってください!)

②WatiNを参照登録

③コーディング



        Dim loginId As String = "ログインID"
        Dim loginPw As String = "ログインパスワード"
        Dim ie As New WatiN.Core.IE("https://login.bizmanager.yahoo.co.jp/login")
        Try
            If ie.Link(WatiN.Core.Find.ByText("Yahoo! JAPAN IDで利用する")).Exists = True Then
                ie.Link(WatiN.Core.Find.ByText("Yahoo! JAPAN IDで利用する")).Click()
            End If
            System.Threading.Thread.Sleep(500) '0.5秒ウエイト

            If ie.Link(WatiN.Core.Find.ByText("別のYahoo! JAPAN IDでログイン")).Exists = True Then
                ie.Link(WatiN.Core.Find.ByText("別のYahoo! JAPAN IDでログイン")).Click()
            End If
            System.Threading.Thread.Sleep(500) '0.5秒ウエイト

            If ie.Link(WatiN.Core.Find.ByUrl("http://rdsig.yahoo.co.jp/login/pc/v/changeid/")).Exists = True Then
                ie.Link(WatiN.Core.Find.ByUrl("http://rdsig.yahoo.co.jp/login/pc/v/changeid/")).Click()
            End If
            System.Threading.Thread.Sleep(500) '0.5秒ウエイト

            If ie.TextField(WatiN.Core.Find.ByName("login")).Exists = True Then
                ie.TextField(WatiN.Core.Find.ByName("login")).Value = loginId
            End If
            ie.Button(WatiN.Core.Find.ByName("btnNext")).Click()
            System.Threading.Thread.Sleep(500) '0.5秒ウエイト

            ie.TextField(WatiN.Core.Find.ByName("passwd")).Value = loginPw
            ie.Button(WatiN.Core.Find.ByName("btnSubmit")).Click()
        Catch ex As Exception
            Throw ex
        Finally
            ie.AutoClose = False
            If ie.NativeBrowser IsNot Nothing Then
                ie.Dispose()
            End If
            ie = Nothing
        End Try



最近は楽天 Amazon に負けじとYahooショッピングが盛り上がってるので
需要があれば!


2018年8月9日木曜日

VB.NET WatiNを使って楽天RMSの自動ログインをするプログラミング方法


1 件のコメント :

【VB.NET】WatiNを使って、楽天RMSの自動ログインをする


VB.NETでWeb操作をする人は他の言語に比べて圧倒的に少ないため
技術的な情報が非常に少ないのが現状です。
ましてやC#はまだマシですがVBはホントに寂しい限り。
そんなマニアックなコーディングをやってます!


VB.netでWEB操作をするには多くの方法があります。

 ・WebBrowserコントロール
 
 ・InternetExplorerオブジェクト

 ・WatiNやSeleniumなどのフレームワーク


今回はよりマニアックなWatiNを使ったコーディングです。
いろいろやった中でWatiNフレームワークがWEB操作をする上で
一番簡単にコーディングが出来るのでオススメです。


*** WatiNを使った楽天RMSの自動ログイン ***


①WatiNを入手(これはぐぐってください!)

②WatiNを参照登録

③コーディング




Imports WatiN
Public Class Form1
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim loginId As String = "ログインID"
        Dim loginPw As String = "ログインパスワード"
        Dim userId As String = "ユーザーID"
        Dim userPw As String = "ユーザーパスワード"
        Dim ie As New WatiN.Core.IE("https://glogin.rms.rakuten.co.jp/?sp_id=1")
        Try
            ie.TextField(WatiN.Core.Find.ByName("login_id")).Value = loginId
            ie.TextField(WatiN.Core.Find.ByName("passwd")).Value = loginPw
            ie.Button(WatiN.Core.Find.ByName("submit")).Click()
            ie.TextField(WatiN.Core.Find.ById("rlogin-username-2-ja")).Value = userId
            ie.TextField(WatiN.Core.Find.ById("rlogin-password-2-ja")).Value = userPw
            ie.Button(WatiN.Core.Find.ByName("submit")).Click()
        Catch ex As Exception
            MsgBox(ex.Message,MsgBoxStyle.OkOnly)
        Finally
            ie.AutoClose = False
            If ie.NativeBrowser IsNot Nothing Then
                ie.Dispose()
            End If
            ie = Nothing
        End Try
    End Sub
End Class



取り敢えず使いたい人はVSの新規プロジェクトを作成して
フォームにボタンを配置
ソースをコピーしてもらえればそのままで使えます。
非常に簡単なのでEC関連で自動ログイン使いたい人はやってみてください。
VS Expressが無料なので誰でも使えます。

VB.NET ITに関わる者はアウトプットしたほうが良い!らしいのではじめます。


0 件のコメント :
職業柄プログラミングをすることが多いのですが
ほとんどアウトプットをしてきませんでした。
実際同僚に説明をするときに曖昧に覚えてた知識だったり
そもそもグーグル先生で調べてコピったコードだったりが
溢れかえってるので、上手に伝えられない状況が多々ありました。

ふと、IT系のエンジニアはアウトプットしたほうが良い!!
なんて言葉を思い出したのと
高校時代の先生の言葉で
「人に教えるとこで知識となる」
なんてこと言われたりで。


せっかくブログがあるのでと思い書こうと思います。
JAVAやPHP、pythonなどは豊富に情報があふれているのと
自身の得意分野がVB.NETでこれまた情報が少ない傾向があるから
簡単なことからマニアックなとこまでしばらく書いてみようと。


ま、いつもの好きなことの記事も書きますので!