PythonではWebアプリを作る事が出来るプログラミング言語です。
もちろんGoogleのブラウザChromeも操作する事が出来るのですが、思う通りに動かすにはチョッとしたクセがあったりします。
例えばChromeで開いたサイトにあるボタンを押す時に、そのボタンがスクロールが必要な画面外にあったりするとエラーが起こったり…
今回は「画面外のボタンを押す」を行う方法を記しておきます。
ボタンを押すPHPを用意
まずは実験用にPHPファイルを用意
<html> <head> </head> <body> ボタンは押せた? <?php if(isset($_POST["submit"])) { print("Yes"); } else { print("No"); } ?> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <form method="POST"> <input type="submit" id="submit" name="submit"> </from> </body> </html>
ボタンを押すPHPを用意
次に実行するPythonのファイルを用意
# -*- coding: utf-8 -*- import os import time from selenium import webdriver from selenium.webdriver.support.select import Select #------------------------------------------- #chromeを開く driver = webdriver.Chrome() driver.get("https://program1616.net/php/test01.php") #ボタンを取得 elem = driver.find_element_by_id('submit') time.sleep(10) print("ボタンを押す") elem.click() time.sleep(10) #ブラウザ閉じる driver.quit() print("-----End------")
このファイルを実行してPHPファイルのボタンを押します。
PythonでGoogleのブラウザChromeの画面外のボタンを押す
ボタンを押せない場合は下記のようにJavascriptで押すよう修正します。
print("ボタンを押す") #elem.click() driver.execute_script('arguments[0].click();',elem) time.sleep(10)
これでボタンが押せるようになります。