1. 程式人生 > 其它 >Selenium之webdriver的基礎操作

Selenium之webdriver的基礎操作

webdriver的基礎操作

from selenium import webdriver

driver = webdriver.Chrome()

driver.get(url='http://www.baidu.com')
driver.find_element()  # 定位標籤
print(driver.title)
driver.close()  # 關閉當前視窗
print(driver.page_source)  # 獲取頁面的內建
# 設定瀏覽器的大小
driver.set_window_size(800, 600)
print(driver.get_window_size())  # 獲取瀏覽器視窗的大小
driver.save_screenshot(
'a.png') # 螢幕截圖,儲存圖片的型別必須是png driver.refresh() # 重新整理 driver.back() # 後退 driver.forward() # 前進 driver.get_cookie() # 獲取cookies driver.current_url # 獲取當前window視窗的url driver.current_window_handle # 獲取當前視窗物件 driver.execute_script("aler('你好啊')") # 執行JS程式碼

常用的標籤選擇器

1.根據id定位
2.根據class定位
3.根據tag name定位
4.根據超連結定位 1.絕對定位 2.模糊定位 5.根據xpath定位,根據dom樹來定位,每個標籤在dom樹中都有自己的節點 6.根據css selecter(樣式) 7.定位input框,根據name屬性定位 8.by選擇器,封裝了上面幾種定位形式

標籤選擇器的定位

driver.find_element_by_id('kw').send_keys('id')
driver.find_element_by_class_name('s_ipt').send_keys('class')
driver.find_element(by=By.ID, value='kw').send_keys('
By') driver.find_element_by_css_selector('input[class=s_ipt]').send_keys('CSS') driver.find_element_by_name('wd').send_keys('name') driver.find_element_by_link_text() driver.find_element_by_partial_link_text() driver.find_element_by_tag_name('').click() CSS 選擇器 driver.find_element_by_css_selector('input[class ^=s_]') # 匹配以s_開頭的class值 driver.find_element_by_css_selector('input[class $=pt]') # 匹配以pt結尾的class值 driver.find_element_by_css_selector('input[class *=_i ]') # 匹配包含_i的class值 driver.find_element_by_css_selector('.s_ipt').send_keys('css可好') driver.find_element_by_css_selector('input.s_ipt').send_keys('厲害了css') driver.find_element_by_css_selector('#kw').send_keys('css id來了') driver.find_element_by_css_selector('input#kw').send_keys('無敵css')

input_obj = driver.find_element_by_id("id_user")
# 為input框填寫值
input_obj.send_keys('你好')
# 獲取input框的值
input_obj.get_attribute('value')
# 獲取input框的屬性
input_obj.get_attribute('class')
input_obj.get_property('name')
# 獲取標籤的css樣式
input_obj.value_of_css_property('color')
# 獲取標籤中的子標籤
div_obj = driver.find_element_by_class_name('col-xs-3')
div_obj.find_element_by_tag_name('input').submit()
# 獲取驗證碼圖片的大小
driver.find_element_by_id('imageCode').size