e-typingを自動化してハイスコアを叩き出す
はじめに
タイピングを練習してもなかなか速くならないので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()を入れています。
実行結果
実行環境が低スペックのうえ、録画しながらスクリプトを実行したためあまり速度が出ていませんが、録画なしの場合スコア1000以上を叩き出すことができました。
Author And Source
この問題について(e-typingを自動化してハイスコアを叩き出す), 我々は、より多くの情報をここで見つけました https://qiita.com/ksk001100/items/b8db19915e82ee6fed71著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .