プログラムとその他いろいろメモ

PythonでGoogleのブラウザChromeの画面外のボタンを押す方法

hromeの画面外のボタンを押す方法

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)

これでボタンが押せるようになります。

モバイルバージョンを終了