LoginSignup
9

More than 5 years have passed since last update.

e-typingを自動化してハイスコアを叩き出す

Last updated at Posted at 2017-12-18

はじめに

タイピングを練習してもなかなか速くならないのでSeleniumで自動化してハイスコア叩き出します。

実行環境

  • マシン:MacBook Pro (Retina, 13-inch, Mid 2014)
  • CPU:2.8 GHz Intel Core i5
  • メモリ:16 GB 1600 MHz DDR3
  • プログラミング言語:Python 3.6

プログラム

chromedriverを以下から最新版をダウンロード、解凍してプログラムと同じディレクトリに配置して下さい。
https://sites.google.com/a/chromium.org/chromedriver/downloads

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

url='https://www.e-typing.ne.jp/roma/check/'
driver = webdriver.Chrome(executable_path='chromedriver')
driver.get(url)

# 今すぐチェック!をクリック
driver.find_element_by_class_name('edro').click()

time.sleep(1)

# モーダルにスイッチ
driver.switch_to_frame('typing_content')

# スタートをクリック
driver.find_element_by_xpath('//div[@id="start_btn"]').click()

time.sleep(1)

# スペースキーでスタート
driver.find_element_by_tag_name("body").send_keys(Keys.SPACE)

time.sleep(4)

while True:
    try:
        sentences = driver.find_element_by_xpath('//div[@id="sentenceText"]').find_elements_by_tag_name('span')[1].text
        for sentence in sentences:
            driver.find_element_by_tag_name("body").send_keys(sentence)
        time.sleep(1)
    except:
        break

あまり速すぎるとスコアが-1になってしまうのでループの途中でtime.sleep()を入れています。

実行結果

ezgif-4-d20a92e5fc.gif

実行環境が低スペックのうえ、録画しながらスクリプトを実行したためあまり速度が出ていませんが、録画なしの場合スコア1000以上を叩き出すことができました。

スクリーンショット 2017-12-19 9.12.13.png

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9