1. Seleniumの基本的な使い方

Python

インストール

pip install --upgrade selenium
pip install chromedriver-binary==126.0.5478.125.0 <--- 手動インストール
pip install webdriver_manager  <--- webdriverの自動更新をしてくれる

import

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys impoort Keys
import choromedriver_binary
import time

サイトを開きます

driver = webdriver.Chrome()
driver.get("https://xxx.com/")

サイトを開いたときスマホ画面になってPC画面とレイアウトが変更される場合があります
ウィンドウサイズを1200×1000pxにしておきます
driver.set_window_size(1200, 1000)

スクロールして目的の要素を見つけます

for i in range(10):
  driver.find_element(By.TAG_NAME, "body").send_keys(Keys.PAGE_DOWN)
  time.sleep(1)

要素を見つけます

要素が複数ある場合はfind_elementsにします
imgs = driver.find_elements(By.TAG_NAME, "img")

他にも
(By.ID, "enter")
(By.CLASS_NAME, "enter")
(By.XPATH, "//input")  
があります

テキストを取得する
driver.find_element(By.ID, "xxx").text
クリックする
driver.find_element(By,CLASS_NAME, "xxx"),click()

デスクトップに空のフォルダを作成します

import os
path = "C:/Users/your-name/Desktop/image"

if not os.path.exists(path):
  os.makedirs(path)

画像をデスクトップに保存します

for index, img in enumerate(imgs):
  if not img.get_attribute("src") == "":
    src = img.get_attribute("src")
    with urllib.request.urlopen(src) as rf:
      img_data = rf.read()
    with open(f"C:/Users/your-name/Desktop/image" + name + f"{index}.jpg", "wb") as wf:
      wf.write(img_data)


find_elements()で取得した要素は
for img in imgs: content += img.text
for i in range(len(imgs)): imgs[i].click()
for index, img in enumerate(imgs): 
のいずれかで処理します

BACK