python_selenium
selenium
- Pythonでseleniumを扱うためのライブラリ
導入
$pip install selenium
オプション
- オプションはクラスを継承し、
add_argument
で引数を追加していく
from selenium import webdriver from selenium.webdriver.chrome.options import Options option = Options() option.add_argument('xxx') driver = webdriver.Chrome('DriverPath', options = option)
メソッド
要素
# ID driver.find_element_by_id('id_') # XPath driver.find_element_by_id('xpath_') driver.find_elements_by_id('xpath_')
操作
# XXXを送信 driver.find_element_by_id('id_').send_keys('XXX') # 入力欄をクリア driver.find_element_by_id('id_').clear() # クリック driver.find_element_by_id('id_').click()
リモート
from selenium import webdriver driver = webdriver.Remote( command_executor='http://private_chrome:4444/wd/hub' )
サンプル
import platform import time from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.options import Options from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions from selenium.webdriver.common.by import By def main(): os = platform.system() option = Options() option.add_argument('--mute-audio') option.add_argument('--no-sandbox') option.add_argument('--disable-gpu') option.add_argument('--disable-dev-shm-usage') if (os == 'Linux'): option.add_argument('--headless') option.add_experimental_option('excludeSwitches', ['enable-logging', 'enable-automation']) driver = webdriver.Chrome( ChromeDriverManager().install(), options = option ) wait = WebDriverWait(driver, 10) try: if (os == 'Windows'): driver.maximize_window() driver.get('TARGET_URL') wait.until( expected_conditions.visibility_of_element_located( (By.ID, 'xxx') ) ) if (os == 'Linux'): w = driver.execute_script('return document.body.scrollWidth') h = driver.execute_script('return document.body.scrollHeight') driver.set_window_size(w, h) driver.save_screenshot('test.png') input('Press Enter...') except Exception as e: print('ERROR:', str(e)) driver.quit() else: driver.quit() if (__name__ == '__main__'): main()
python_selenium.txt · 最終更新: 2021/06/23 14:47 by 127.0.0.1