====== 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}}