IPO申し込み自動化BOTを作る②

前回はSBI証券のIPO申し込みページを開く部分までを自動化しました。今回は実際にIPOに申し込むまでを自動化します。

前回のプログラムに追加し、作成したプログラムは下記の通りです。IPOの申込ページから申込ボタンを探索し押下、その後申込内容を入力して実際の申し込みを行うというものです。複数銘柄が申込可能な場合に備えて、同一処理を10回繰り返しています。申込可能銘柄が存在しない場合は、プログラムを終了します。

for i in range(10):
   sleep(2)
   # 申込ボタンを探索
   element = None
   try:
       element = driver.find_element_by_xpath('//img[@alt=\"申込\"]')
   except NoSuchElementException:
       print('申込可能銘柄なし')
       driver.quit()
       sys.exit()

   # 申込ボタンを押下
   element.click()

   # 銘柄名取得・表示
   name_element = driver.find_element_by_css_selector('body > table > tbody > tr > td > table:nth-child(1) > tbody > tr > td > table:nth-child(3) > tbody > tr:nth-child(1) > td > form > table:nth-child(7) > tbody > tr > td > div > font > b')
   print(name_element.text)

   # 申込件数を入力
   suryo_element = driver.find_element_by_css_selector('body > table > tbody > tr > td > table:nth-child(1) > tbody > tr > td > table:nth-child(3) > tbody > tr:nth-child(1) > td > form > table:nth-child(21) > tbody > tr > td > table > tbody > tr > td:nth-child(1) > table > tbody > tr:nth-child(3) > td')
   suryo = re.search(r'\d+株', suryo_element.text).group()[0:-1] # "(売買単位/100株)"から株数のみを取得
   driver.find_element_by_name('suryo').send_keys(suryo)

   # ストライクプライスにチェック
   driver.find_element_by_id('strPriceRadio').click()

   # 取引パスワードを入力
   driver.find_element_by_name('tr_pass').send_keys(TORIHIKI_PASSWORD)

   # 申込確認画面へを押下
   driver.find_element_by_name('order_kakunin').click()

   # 申込を押下
   driver.find_element_by_name('order_btn').click()

   # 新規上場株式ブックビルディング / 購入意思表示画面へ戻る を押下
   driver.find_element_by_css_selector('body > table > tbody > tr > td > table:nth-child(1) > tbody > tr > td > table:nth-child(3) > tbody > tr > td > table:nth-child(9) > tbody > tr > td > a').click()

このプログラムにより、IPO申込を自動化できました。ある程度の金額を事前入金しておき、このプログラムを定期実行することで、当たれば御の字、外れてもIPOチャレンジポイントが貯まっていく仕組みを作ることができます。

ご参考になれば幸いです。

追記
この処理を自動実行するシステムを構築しました。


この記事が気に入ったらサポートをしてみませんか?