selenium webdriver API

來源:互聯網
上載者:User

標籤:send   form   element   coding   class   lin   返回   xpath   evel   

元素定位

#coding=utf-8from selenium import webdriverfrom selenium.webdriver.firefox.firefox_binary import FirefoxBinaryimport timebinary = FirefoxBinary(‘/Applications/FirefoxDeveloperEdition.app/Contents/MacOS/firefox-bin‘)driver = webdriver.Firefox(firefox_binary=binary)driver.get(‘http://www.baidu.com‘)size = driver.find_element_by_id(‘kw‘).sizeprint(size)text = driver.find_element_by_id(‘cp‘).textprint(text)size1 = driver.find_element_by_id(‘kw‘).get_attribute(‘type‘)print(size1)size2 = driver.find_element_by_id(‘kw‘).is_displayed()print(size2)driver.find_element_by_id(‘kw‘).clear()driver.find_element_by_id(‘kw‘).send_keys(‘selenium‘)driver.find_element_by_id(‘su‘).click()time.sleep(2)driver.get(‘http://news.baidu.com‘)time.sleep(2)driver.back()time.sleep(2)driver.forward()time.sleep(2)driver.refresh()

 

滑鼠鍵盤操作

#coding=utf-8from selenium import webdriverfrom selenium.webdriver.firefox.firefox_binary import FirefoxBinaryfrom selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.common.keys import Keysimport timebinary = FirefoxBinary(‘/Applications/FirefoxDeveloperEdition.app/Contents/MacOS/firefox-bin‘)driver = webdriver.Firefox(firefox_binary=binary)driver.get(‘http://www.baidu.com‘)right_click = driver.find_element_by_id("listHolder")# 右鍵ActionChains(driver).context_click(right_click).perform()# 滑鼠移至上方above = driver.find_element_by_name("tj_settingicon")ActionChains(driver).move_to_element(above).perform()#雙擊double_click = driver.find_element_by_id(‘xx‘)ActionChains(driver).double_click(double_click).perform()# 拖動drag_start = driver.find_element_by_id(‘xx‘)drag_end = driver.find_element_by_id(‘cc‘)ActionChains(driver).drag_and_drop(drag_start,drag_end).perform()#輸入框輸入內容driver.find_element_by_id(‘kw‘).send_keys(‘hha‘)#刪除多輸入的內容driver.find_element_by_id(‘kw‘).send_keys(Keys.BACK_SPACE)#輸入空格driver.find_element_by_id(‘kw‘).send_keys(Keys.SPACE)# ctrl+a全選driver.find_element_by_id(‘kw‘).send_keys(Keys.CONTROL,‘a‘)#斷行符號driver.find_element_by_id(‘kw‘).send_keys(Keys.ENTER)

 顯式/隱式等待

#coding=utf-8from selenium import webdriverfrom selenium.webdriver.firefox.firefox_binary import FirefoxBinaryfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECbinary = FirefoxBinary(‘/Applications/FirefoxDeveloperEdition.app/Contents/MacOS/firefox-bin‘)driver = webdriver.Firefox(firefox_binary=binary)driver.get(‘http://www.baidu.com‘)#顯式等待element = WebDriverWait(driver,5,0.5).until(EC.presence_of_all_elements_located((By.ID,‘kw‘)))element.send_keys(‘ss‘)#隱式等待from selenium.common.exceptions import NoSuchElementExceptiondriver.implicitly_wait(10)driver.get(‘http://www.baidu.com‘)try:    driver.find_element_by_id(‘kw‘).send_keys(‘ss‘)except NoSuchElementException as e:    print(e)

視窗/frame切換

#coding=utf-8from selenium import webdriverfrom selenium.webdriver.firefox.firefox_binary import FirefoxBinarybinary = FirefoxBinary(‘/Applications/FirefoxDeveloperEdition.app/Contents/MacOS/firefox-bin‘)driver = webdriver.Firefox(firefox_binary=binary)driver.get(‘http://www.baidu.com‘)#iframe切換id或name,否則用XPATH定位driver.switch_to.frame("if")#返回之前頁面driver.switch_to.parent_frame()# 多視窗切換#獲得當前視窗控制代碼search_windows=driver.current_window_handledriver.find_element_by_link_text(‘登入‘).click()driver.find_element_by_link_text(‘立即註冊‘).click()#擷取當前所有開啟的視窗控制代碼all_handles = driver.window_handles#進入註冊視窗for handle in all_handles:    if handle != search_windows:        driver.switch_to.window(handle)        print(‘註冊。。。‘)        # 填寫資訊send_keys#回到之前視窗for handle in all_handles:    if handle ==search_windows:        driver.switch_to.window(handle)        print(‘搜尋。。。‘)    

 

selenium webdriver API

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.