LoginSignup
32
32

More than 5 years have passed since last update.

いろいろ調べながらselenium使ってみたから後からまた使いたくなった時用のメモ(python)

Posted at

はじめに

[環境]
・Mac OS X EI Capitan 10.11.6

準備

Seleniumモジュールのインポート

from selenium import webdriver

Chromeを開く

driver = webdriver.Chrome()

URLからページを開く

driver.get("開きたいページのURL")

ページの要素

要素を見つける

基本的に

driver.find_element_by_?(?)

の形を使用する

コード 機能
by_id(id) id属性がidである要素
by_class_name(name) クラス名がnameの要素
by_name(name) タグ内のname属性が一致する要素
by_tag_name(name) タグ名が一致する要素
by_link_text(text) テキストに完全一致する要素
by_partial_link_text(text) テキストに部分一致する要素
by_xpath(path) xpathが一致する要素

xpathは,ページの見つけたい要素から「検証」を選択し,タグを「Copy」→「Copy XPath」とすることで取得できる

要素に対してアクション

・要素上でマウスをクリックする [.click()]

driver.find_element_by_?(?).click()

・フォームを記入する [.send_keys('?')]

driver.find_element_by_?(?).send_keys('記入したい文字')

・キーを入力する [.send_keys(?)]

# モジュールをインポート
from selenium.webdriver.common.keys import Keys
# キーを送信
driver.find_element_by_?(?).send_keys(Keys.?)

主なキー

コード 機能
Keys.DOWN 矢印下
Keys.UP 矢印上
Keys.LEFT 矢印左
Keys.RIGHT 矢印右
Keys.ENTER エンターキー
Keys.RETURN リターンキー
Keys.ESCAPE Escキー
Keys.TAB タブキー

・内部テキストを取得 [.text]

driver.find_element_by_?(?).text

・inputタグなどのテキスト消去 [.clear]

driver.find_element_by_?(?).clear()

・要素が存在するかどうか [try:~]

try:
    driver.find_element_by_?(?)
# 要素が存在しない場合
except:
    print('要素は見つかりませんでした')

ブラウザ上のボタンをクリック

コード 機能
driver.back() 「戻る」ボタンをクリック
driver.forward() 「進む」ボタンをクリック
driver.refrash() 「再読み込み」ボタンをクリック
driver.quit() 「ウィンドウを閉じる」ボタンをクリック

以上です

参考

Selenium クイックリファレンス

32
32
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
32