AWSで契約したWindowsサーバー上にSeleniumを使ってChromeを操作しInstagramをスクレイピングするプログラムをRubyで記述しています。
バージョンは以下のとおりです
Instagramにアクセスするまでのコードは以下のとおりです。WindowsからクローリングしていることがInstagram社に知られるとブロックされる可能性もありますのでUSERAGENTをiOSに設定しています。
require 'selenium-webdriver'
USER_AGENT = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 12_1_2 like Mac OS X; ja-jp) AppleWebKit/605.1.15 (KHTML,like Gecko) Version/12.0 Mobile/15E148Safari/604.1"
setting = Selenium::WebDriver::Chrome::Options.new(args: [ "--lang=ja", "--user-data-dir=./profile", "--user-agent=#{USER_AGENT}"])
driver = Selenium::WebDriver.for :chrome, options: setting
driver.get('https://www.instagram.com/account_name/')
driver.switch_to.alert.dismis
などで対応ができると書いてあったので実行してみたのですがオブジェクトを取得できず失敗しました。
USERAGENTをWindowsのままであればこの通知は発生しないと思いますが、都合上、iOSのままにしておきたいです。この通知を操作する方法をご存知の方がいらっしゃいましたら教えてください。
※ちなみに、この通知ですが、作成したばかりのInstagramアカウントで、ログイン処理をすることで再現をしやすくなります。
一度、手動でクリックしてしまうとしばらく発生しなかったりするので2回目以降の再現性が少し低めです。
Windows以外でもMacOSでもこの現象が発生したことを確認しております。
--
このメールは Google グループのグループ「日本Seleniumユーザーコミュニティ」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには seleniumjp+...@googlegroups.com にメールを送信してください。
このグループに投稿するには selen...@googlegroups.com にメールを送信してください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。