selenium自動化(瀏覽器元素操作)

from selenium import webdriver
dr = webdrover.Chrome()
dr.get('https://www.so.com/')

最大化瀏覽器:
dr.maximize_window()

設(shè)置瀏覽器大小:
dr.set_window_size(1000,1000)

dr.find_element_by_id('input').sned_keys('selenium自動化')
dr.find_element_by_id('search-button').click()

獲取當(dāng)前頁面的URL:
print(dr.current_url)

后退:
dr.back()

前進:
dr.forward()

刷新:
dr.fresh()

元素操作
向輸入框中輸入元素:
inputBox = dr.find_element_by_id('input')
inputBox.send_keys('selenium自動化')

清除輸入框中的元素:
inputBox.clear()

inputBox.send_keys('selenium自動化')
dr.find_element(By.ID,'search-button').click()
setting = dr.find_element(By.CSS_SELECTOR,'.show-list.setting-group > a')
檢查元素是否可見:
print(setting.is_displayed())
獲取指定元素的文本:
print(setting.text)

獲取屬性值
print(dr.find_element_by_id('input').get_attribute('class'))

隱性等待:
from time import ctime
設(shè)置隱性等待時長:
dr.implicitly_wait(20)

print(ctime())
dr.find_element(By.ID,'input')
print(ctime())
print()
print(ctime())
try:
dr.find_element(By.ID,'search-button666')
except:
print(ctime())
print(ctime())

顯性等待:
導(dǎo)包:
from selenium.webdriver.support.ui import WebDriverWait
print(ctime())
WebDriverWait(dr,5,0.1)until(lambda dr:dr.find_element(By.ID,'input'))
print(ctime())
print()
print(ctime())
try:
WebDriverWait(dr,5,0.1)until(lambda dr:dr.find_element(By.ID,'input999'))
except:
print(ctime())
print(ctime())

提交數(shù)據(jù):
inputBox = dr.find_element(By.ID,'input')
inputBox.send_keys('selenium自動化')
inputBox.submit()
當(dāng)沒有提交按鈕的時候,submit()相當(dāng)于回車鍵。

鼠標(biāo)懸停:
from selenium.webdriver import ActionChains
dr.get('https://www.163.com/')
login = dr.find_element_by_class_name('ntes-nav-login-title')
ActionChains(dr).move_to_element(login).perform()

表單切換
定位到表單位置:
dr.get('https://www.163.com/')
login = dr.find_element_by_css_selector('#loginDiv > iframe')
進入表單:
dr.switch_to.frame(login)
dr.find_element_by_name('email').send_keys('第一個窗口')

退回默認表單

dr.switch_to.default_content()
dr.find_element_by_link_text('幫助').click()

窗口切換

windows = dr.window_handles

切換到第二個窗口

dr.switch_to.window(windows[1])
dr.find_element_by_css_selector('[name=word]').send_keys('第二個窗口')

關(guān)閉窗口
關(guān)閉第二個窗口
dr.close()
關(guān)閉第一個窗口
dr.switch_to.window(windows[0])
dr.close()
關(guān)閉瀏覽器
dr.quit()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容