SeleniumでBadooに自動投票 - Vote automatically on Badoo with Selenium-Python3




ブラウザ操作をするためのSelenium.
pythonのseleniumでchromeを動かすには、どうやら日頃使っているchromeではダメみたい。chromedriverを手に入れて、それをseleniumのドライバーとして使わないといけない。2015年11月10日において最新版のchromeriverはここで手に入る。

Badooは画面で1を押すとLikeの投票をするようになってることを利用し、600投票すると画面を閉じるようにした。

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome(r'C:\Users\nw\Documents\chromedriver.exe')  # Optional argument, if not specified will search path.
driver.get(r'https://badoo.com/en/signin/?f=top')
#time.sleep(2) # Let the user actually see something!
driver.find_element_by_id("email").send_keys("YOUR_EMAIL_ADRRESS")
driver.find_element_by_id("password").send_keys("YOUR_PASSWORD")
driver.find_element_by_id("password").submit()
body = driver.find_element_by_tag_name("body")
noti = driver.find_element_by_id("notifications")
cnt=0
while(True):
    if noti.is_displayed():
        body.send_keys(Keys.ESCAPE)
    else:
        body.send_keys(Keys.NUMPAD1)
        cnt+=1        
    if cnt>=600:
        break
print('finished voting.')
#time.sleep(10) # Let the user actually see something!
driver.quit()


調べていてよく見かけた sendKeysやfindElement(By('id'))などはJAVAだろう。
ポップアップ (アラート) が出てくると、自動で閉じるようにしたいのだが、うまくいかない。
driver.switch_to().alert().accept()
もうまくいかなかった。

冒頭のGIFは、Chrome拡張機能Screencastifyでデスクトップを録画し、得られたwebmファイル(グーグルの拡張子)をffmpegでmp4に変換し、 以前に自分が書いたGIFアニメ作成の記事にしたがって作った。cropもmoviepyでGIF出力時で行った(pygameをインストールできなかったので、crop範囲をプレビューできず不便だった)。

それにしても、内容が低俗すぎて投稿が躊躇われる。匿名ブログを作った方がいい気すらする。

参考

python+seleniumでTwitterにログインしてみる | たくのこ Web
Keys

コメント

人気の投稿