====== 07 Python Selenium ======
===== Python と Seleniumの準備 =====
==== Python インストール ====
[[https://www.python.org/downloads|Pythonダウンロード]]
=== 重要 ===
これを忘れると、Pathが通ってないのでpythonとかpipを打ってもコマンドがありませんになります。
※表示された画面の一番下に「Add Python 3.X to PATH」というチェックボックスがありますので、必ずチェックをしてください。
==== selenium インストール ====
pip install selenium
Collecting selenium
Downloading selenium-3.141.0-py2.py3-none-any.whl (904 kB)
|████████████████████████████████| 904 kB 3.3 MB/s
Collecting urllib3
Downloading urllib3-1.26.3-py2.py3-none-any.whl (137 kB)
|████████████████████████████████| 137 kB 6.8 MB/s
Installing collected packages: urllib3, selenium
Successfully installed selenium-3.141.0 urllib3-1.26.3
==== Chromeインストール ====
=== Centos ===
cat << EOM > /etc/yum.repos.d/google.chrome.repo
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/\$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
EOM
yum -y install google-chrome-stable
# google-chrome --version
Google Chrome 92.0.4515.159
=== Ubuntu ===
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/googlechrom-keyring.gpg] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
curl -fsSL https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/googlechrom-keyring.gpg
sudo apt update
sudo apt install google-chrome-stable
==== Chrome driver ====
下記からインストールしたChromeと同じバージョンのChrome driverを落としてくる
[[https://chromedriver.chromium.org/downloads]]
wget https://chromedriver.storage.googleapis.com/92.0.4515.107/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
mv chromedriver /usr/local/bin/chromedriver
# /usr/local/bin/chromedriver --version
ChromeDriver 92.0.4515.107 (87a818b10553a07434ea9e2b6dccf3cbe7895134-refs/branch-heads/4515@{#1634})
===== スクリプト部分 =====
==== シンプルにページを開く ====
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
# WebDriverのインスタンスを作成します
options = Options()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.binary_location = '/usr/bin/google-chrome'
# ChromeDriverのパスをwebdriver-managerで取得します
driver_path = ChromeDriverManager().install()
print(f"ChromeDriver is installed at: {driver_path}")
# Serviceインスタンスを作成します
global_service = Service(driver_path)
driver = webdriver.Chrome(service=global_service, options=options)
# 操作するページを開く
html=driver.get("https://c.fl8.jp")
# ページのHTMLコンテンツを取得
html = driver.page_source
print(html)
# 操作したブラウザを閉じる
driver.close()
==== ID/Pass入力 ====
# ID/PASSを入力して、ボタンクリック
driver.find_element_by_name("USERID").clear()
driver.find_element_by_name("USERID").send_keys("hoge")
driver.find_element_by_name("PASSWORD").clear()
driver.find_element_by_name("PASSWORD").send_keys("hogepass")
driver.find_element_by_name("btn_login").click()
time.sleep(30)
==== chromedriver自動更新 ====
[[https://yuki.world/python-selenium-chromedriver-auto-update/]]
{{tag>Python Selenium}}