PythonでBO自動化

Python+Selenium

Python+Seleniumをつかって、Chromeで某BOを自動でエントリーできるようにしてみました。

  • サイトのデモ口座を起動

  • 初期画面で出来るトレード(Turbo USD/JPY 30秒)

  • ワンクリック注文へ切替

  • 金額を2000円にする

  • HIGHエントリー

サクっとコード公開

Pythonはなんとなく昔使ったことある程度で、SeleniumによるWebスクレイピングは今日数時間使ってみた程度のド素人です。
ワンパターンの動作を行うだけなので、これを理解できて改造できる人は活用してみてくださいレベルの情報公開です。

import time
from selenium import webdriver
from selenium.webdriver.chrome import service
from selenium.webdriver.common.by import By
#エラーメッセージ出さなくする
ChromeOptions = webdriver.ChromeOptions()
ChromeOptions.add_experimental_option("excludeSwitches", ['enable-automation', 'enable-logging'])

#ChromeDriverのパス設定
CHROMEDRIVER = "C:\chromedriver.exe"
chrome_service = service.Service(executable_path=CHROMEDRIVER)

#Chromeを起動
driver = webdriver.Chrome(service=chrome_service, options=ChromeOptions)
driver.get("https://app.highlow.com/quick-demo?source=header-quick-demo-cta")

time.sleep(10)
#ワンクリック注文に変更
element = driver.find_element(By.XPATH, '//*[@id="scroll_panel_1_content"]/div[2]/div/div[2]/div/div[2]/div[2]/div[1]').click()
#金額クリア
driver.find_element(By.XPATH, '//*[@id="scroll_panel_1_content"]/div[2]/div/div[2]/div/div[1]/div[1]/div[2]/div/input').clear
#2000円入力
driver.find_element(By.XPATH, '//*[@id="scroll_panel_1_content"]/div[2]/div/div[2]/div/div[1]/div[1]/div[2]/div/input').send_keys(2000)
#HIGHエントリー
element = driver.find_element(By.XPATH, "//*[@id='TRADE_PANEL_TRADE_BUTTONS_GROUP']/div[2]/div").click()

添削してほしい

XPATHをつかっていて、もっとスマートに目的の箇所を探す方法がないのかと思っていますが、今後の改善課題です。
もしもっと良い記述があるよ!って教えてくれる人がいらっしゃいましたら教えて欲しいです。

BOの自動化について

BOを自動で行うというのは、非常にダークな手法ではないかと思います。
口座凍結等や出金拒否の対象になる可能性は非常に高いのでご注意ください。
あくまでも、技術の活用例です。

いいなと思ったら応援しよう!