Try   HackMD
HackMD Error: 404 error

Python Selenium Notes

tags: Python Selenium Notes

基本用法

通常都會搭配等待秒數使用

import time from selenium import webdriver driver = webdriver.Chrome() driver.get('http://eip.ym.edu.tw/EIP/login.aspx') driver.find_element_by_xpath('//*[@id="tb_eipea_account_emp_account"]').send_keys('輸入帳號') driver.find_element_by_xpath('//*[@id="tb_eipea_account_emp_account"]').clear() driver.find_element_by_xpath('//*[@id="btn_login"]').click() time.sleep(5)

取得所有使用 classA 的 elements

contents = driver.find_elements_by_class_name('classA') for element in contents: print(element.text)

某個 element 中的 source 資訊

element.get_attribute('innerHTML')

特殊用法

有時找不到 element 是因為 frame 的關係,切換進去就可以找到

driver.switch_to.frame('subap_frame')

或是需要退到上層 frame

driver.switch_to.parent_frame()

處理 alert 視窗

def acecptAlert(): try: Alert(driver).accept() except: print('no alert') time.sleep(5)

表格中的 row 2 column 3

driver.find_element_by_xpath('*/table/tbody/tr[2]/td[3]')

下拉選單選擇某個選項

driver.find_element_by_xpath('*/select/option[text()="選項A"]').click()

默認等待時間,在設定時間結束之前有接收到東西的話就會繼續

driver.implicitly_wait(30)