selenium2 Remote WebDriver

2021-07-02 17:13 更新
class selenium.webdriver.remote.webdriver.WebDriver(command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities=None, browser_profile=None, proxy=None, keep_alive=False)

通過(guò)對(duì)遠(yuǎn)程服務(wù)器發(fā)送命令來(lái)控制瀏覽器。遠(yuǎn)程的服務(wù)器需要運(yùn)行這里定義的?WebDriver ??wire ?協(xié)議。

屬性: ?session_id ?- ?WebDriver?控制,瀏覽器會(huì)話產(chǎn)生的一個(gè)?String ID capabilities ?——返回瀏覽器會(huì)話的可用功能?dict?。

有關(guān)遠(yuǎn)程服務(wù)器,請(qǐng)看https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities 。

?command_executor? ——remote_connection.RemoteConnection? 對(duì)象,用來(lái)執(zhí)行命令。

?error_handler? ——?errorhandler.ErrorHandler?對(duì)象,捕獲錯(cuò)誤。

add_cookie(cookie_dict) - 給當(dāng)前會(huì)話加cookie。

參數(shù):? cookie_dict?:?dict?對(duì)象,需要指定鍵?name?和?value?,可選的鍵有:?path?,?domain?,?secure?,?expiry?。

用法:

driver.add_cookie({'name':'foo','value':'bar'})
driver.add_cookie({'name':'foo','value':'bar','path':'/'})
driver.add_cookie({'name':'foo','value':'bar','path':'/','secure':True})


back() - 在瀏覽歷史中回退一步。

例:

driver.back()


close() - 關(guān)閉當(dāng)前窗口。

例:

driver.close()


create_web_element(element_id) - 以指定的元素id創(chuàng)建一個(gè)新web元素
delete_all_cookies() - 刪除當(dāng)前會(huì)話的所有cookie

例:

driver.delete_all_cookies()


delete_cookie(name) - 刪除一個(gè)指定的cookie

例:

driver.delete_cookie('my_cookie')


execute(driver_command, params=None)

給? command.CommandExecutor? 發(fā)送一個(gè)要執(zhí)行的命令。

參數(shù): ?driver_command?:要執(zhí)行的命令名(字符串)? params?:命令的參數(shù)?dict?。

返回:命令的JSON返回會(huì)加載到一個(gè)?dict?對(duì)象。

execute_async_script(script,*args)

在當(dāng)前的窗口/框架里異步執(zhí)行Javascript。

參數(shù): script:要執(zhí)行的js ?*args:js?的任意合適的參數(shù)。

例:

driver.execute_async_script('document.title')


forward() - 瀏覽歷史里前進(jìn)一步
get(url) - 用當(dāng)前的瀏覽器session加載一個(gè)web頁(yè)面
get_cookie(name) - 返回一個(gè)指定的cookie,不存在返回None
get_cookies() - 返回一組dict,相當(dāng)于當(dāng)前會(huì)話的可用cookie
get_log(log_type) - 獲取指定類(lèi)型的日志

例:

driver.get_log('browser')
driver.get_log('driver')
driver.get_log('client')
driver.get_log('server')


get_screenshot_as_base64() - 獲取當(dāng)前頁(yè)面的截圖的base64編碼字符串,當(dāng)頁(yè)面嵌入了圖片時(shí)這個(gè)方法很有用。
get_screenshot_as_file(filename) - 獲取當(dāng)前頁(yè)面截圖,如果有任何 IOError則返回False,正常返回True,文件名記得使用完整的路徑

例:

driver.get_screenshot_as_file('/Screenshots/foo.png/')


get_screenshot_as_png - 獲取當(dāng)前窗口截圖的二進(jìn)制數(shù)據(jù)
get_window_position(windowHandle='current') - 獲取當(dāng)前窗口的x,y位置
get_window_size(windowHandle='current') - 獲取當(dāng)前窗口的寬高(width,height)
implicitly_wait(time_to_wait) - 設(shè)置一個(gè)隱式的等待時(shí)間,等待一個(gè)元素被發(fā)現(xiàn)或者一個(gè)命令的完成。

在每次會(huì)話里,這個(gè)方法只需要被調(diào)用一次。超時(shí)后要調(diào)用? execute_async_script?,請(qǐng)參看? set_script_timeout?。

例:

driver.implicitly_wait(30)


maximize_window() - 將webdriver正在使用的窗口最大化
quit() 退出驅(qū)動(dòng)并關(guān)閉所有關(guān)聯(lián)窗口
refresh() - 刷新當(dāng)前頁(yè)面
set_page_load_timeout(time_to_wait) - 給載入頁(yè)面設(shè)置一個(gè)超時(shí)時(shí)間,在拋出錯(cuò)誤之前會(huì)等待到加載完成
set_script_timeout(time_to_wait) - 在一個(gè) execute_async_script調(diào)用期間,設(shè)置腳本等待的時(shí)間
set_window_position(x,y,windowHandle='current') - 給頁(yè)面設(shè)置x,y位置
set_window_size(width,height,windowHandle='current') - 給頁(yè)面設(shè)置寬高
start_client() - 在新會(huì)話開(kāi)啟之前調(diào)用,這個(gè)方法可以重載來(lái)定制啟動(dòng)行為
start_session(desired_capabilities, browser_profile=None) - 以期望的性能來(lái)創(chuàng)建一個(gè)新會(huì)話

參數(shù): ?browser_name ?——要請(qǐng)求的瀏覽器的名字。

 ?version ?—— 要請(qǐng)求的瀏覽器版本 。

?platform ?—— 瀏覽器平臺(tái)。。

 ?javascript_enabled ?—— 新會(huì)話是否支持js 。

 ?browser_profile ?-——僅在請(qǐng)求Firefox瀏覽器時(shí)使用。?selenium.webdriver.firefox.firefox_profile.FirefoxProfile? 對(duì)象對(duì)象。

stop_client() - 執(zhí)行一個(gè)退出命令時(shí)調(diào)用。這個(gè)方法可以重寫(xiě),自己定制關(guān)閉時(shí)的行為
switch_to_active_element() - 不推薦使用
driver.switch_to.active_elementswitch_to_alert() - 不推薦使用
driver.switch_to.alertswitch_to_default_content() - 不推薦使用
driver.switch_to.default_contentswitch_to_frame(frame_reference) - 不推薦使用
driver.switch_to.frameswitch_to_window(window_name) - 不推薦使用
driver.switch_to.windowapplication_cache - 返回一個(gè) ApplicationCache 對(duì)象 來(lái)和 瀏覽器應(yīng)用緩存交互
current_url - 當(dāng)前頁(yè)的url
current_window_handle - 當(dāng)前窗口的句柄
desired_capabilities - 返回當(dāng)前驅(qū)動(dòng)正在使用的 '期望性能'
file_detectorlog_types - 返回可用的日志類(lèi)型
listmobilename - 返回當(dāng)前實(shí)例的底層瀏覽器名
rientation - 獲取當(dāng)前設(shè)備的適應(yīng)情況
page_source - 獲取當(dāng)前頁(yè)面的來(lái)源
switch_totitle - 當(dāng)前頁(yè)面的標(biāo)題
window_handles - 返回當(dāng)前會(huì)話內(nèi)所有窗口的資源句柄


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)