トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

Tips-selenium

  python から firefox を操作する

pip3 install selenium
wget https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gz

インストール

pip3 install --user selenium
tar xvfz geckodriver-v0.26.0-linux64.tar.gz
cp ./geckodriver  $HOME/bin/

https://www.selenium.dev/selenium/docs/api/py/

https://github.com/mozilla/geckodriver

サンプル

from selenium.webdriver import Firefox, FirefoxOptions
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

options = FirefoxOptions()
# ヘッドレスモードを有効にする(次の行をコメントアウトすると画面が表示される)。
options.add_argument('-headless')
# FirefoxのWebDriverオブジェクトを作成する。
driver = Firefox(options=options)

# Googleのトップ画面を開く。
driver.get('https://www.google.co.jp/')

# タイトルに'Google'が含まれていることを確認する。
assert 'Google' in driver.title

# 検索語を入力して送信する。
input_element = driver.find_element_by_name('q')
input_element.send_keys('Python')
input_element.send_keys(Keys.RETURN)

# 検索結果の要素が表示されるまで待つ。
WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.CSS_SELECTOR, 'h3 > a')))

# スクリーンショットを撮る。
driver.save_screenshot('firefox_search_results.png')

# 検索結果を表示する。
for a in driver.find_elements_by_css_selector('h3 > a'):
   print(a.text)
   print(a.get_attribute('href'))

driver.quit()  # ブラウザーを終了する。

Tips

https://qiita.com/orangain/items/6a166a65f5546df72a9d

https://qiita.com/orangain/items/6a166a65f5546df72a9d

https://qiita.com/ryuichi1208/items/5d400f13a52fe28f4490

https://stackoverflow.com/questions/43960301/using-http-proxy-with-selenium-geckodriver

https://qiita.com/orangain/items/6a166a65f5546df72a9d