Selenium とは?
Selenium はブラウザーの自動化を可能にするツールとライブラリーのプロジェクトです。
pip install selenium
Node.js の例は以下を参考にしてください。
Selenium はブラウザーの自動化を可能にするツールとライブラリーのプロジェクトです。
pip install selenium
Node.js の例は以下を参考にしてください。
# Chrome
webdriver.Chrome()
# Edge
webdriver.Edge()
# Firefox
webdriver.Firefox()
Google 検索で検索ボックスを ID で指定するには以下のようにします。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import signal
import os
browser = webdriver.Chrome()
browser.maximize_window() # ブラウザを最大化する
try:
url = 'https://www.google.com/'
browser.get(url)
Google_search = browser.find_element(by=By.ID, value="APjFqb")
Google_search.send_keys('Hello world')
Google_search.send_keys(Keys.ENTER)
finally:
os.kill(browser.service.process.pid,signal.SIGTERM)
browser.quit()
クラス名を指定するには、次のようにします。
Google_search = browser.find_element(By.CLASS_NAME, value="gLFyf")
タグ名を指定するには、次のようにします。
Google_search = browser.find_element(By.TAG_NAME, value="textarea")
XPath を指定するには、次のようにします。
Google_search = browser.find_element(By.XPATH, value='//*[@id="APjFqb"]')
XPath を調べるには次のようにします。
name 属性を指定するには、次のようにします。
Google_search = browser.find_element(By.NAME, value='q')
css セレクタの、タグ名、id属性、class属性などを利用することができます。
CSS セレクタを指定するには、次のようにします。
Google_search = browser.find_element(By.CSS_SELECTOR, value='#APjFqb')
リンクテキストを指定するには、次のようにします。
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import signal
import os
browser = webdriver.Chrome()
browser.maximize_window() # ブラウザを最大化する
try:
url = 'https://www.google.com/'
browser.get(url)
Google_search = browser.find_element(By.LINK_TEXT, value='Gmail')
Google_search.click()
finally:
os.kill(browser.service.process.pid,signal.SIGTERM)
browser.quit()
リンクテキストの一部を指定するには次のようにします。
Google_search = browser.find_element(By.PARTIAL_LINK_TEXT, value='Gma')
部分的
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import signal
import os
browser = webdriver.Chrome()
browser.maximize_window() # ブラウザを最大化する
try:
url = 'https://www.google.com/'
browser.get(url)
Google_search = browser.find_element(by=By.ID, value="APjFqb")
Google_search.send_keys('Hello world')
Google_search.send_keys(Keys.ENTER)
finally:
os.kill(browser.service.process.pid,signal.SIGTERM)
browser.quit()
ウィンドウサイズを変更するには「 browser.maximize_window() 」のところを以下のようにします。
browser.set_window_size(1200,400)
起動したブラウザのウィンドウサイズを取得することもでき、戻り値は辞書型です。
print(browser.get_window_size()) #=>{'width': 1200, 'height': 400}
from selenium import webdriver
import signal
import os
browser = webdriver.Chrome()
browser.maximize_window()
try:
url = 'https://www.google.com/'
browser.get(url)
urls = [
'https://www.yahoo.co.jp/',
'https://x.com/'
]
for url in urls:
browser.execute_script("window.open(arguments[0], '_blank')", url)
finally:
os.kill(browser.service.process.pid,signal.SIGTERM)
browser.quit()
from selenium import webdriver
from selenium.webdriver.common.by import By
import signal
import os
browser = webdriver.Chrome()
browser.maximize_window()
try:
url = 'https://www.yahoo.co.jp/'
browser.get(url)
web_page = browser.find_element(By.ID, value='ToolList')
links = web_page.find_elements(By.CLASS_NAME, 'fQMqQTGJTbIMxjQwZA2zk')
# リンクのURLを一覧表示します
for index, link in enumerate(links, start=1):
txt = link.get_attribute('textContent')
print(f'{index}. {txt}')
finally:
os.kill(browser.service.process.pid,signal.SIGTERM)
browser.quit()