這是我參與8月更文挑戰的第9天,活動詳情查看:8月更文挑戰css
瀏覽器操做 | 代碼 |
---|---|
最大化瀏覽器 | driver.maximize_window() |
刷新 | driver.refresh() |
後退 | driver.back() |
前進 | driver.forward() |
設置瀏覽器大小 | driver.set_window_size(300,300) |
設置瀏覽器位置 | driver.set_window_position(300,200) |
關閉瀏覽器單個窗口,若是隻有一個標籤頁則關閉整個瀏覽器 | driver.close() |
關閉瀏覽器全部窗口 | driver.quit() |
連續訪問三個頁面——天貓,淘寶,京東,而後調用back()方法回到第二個頁面——淘寶,接下來再調用forward()方法又能夠前進到第三個頁面——京東!html
import time
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.tmall.com/')
time.sleep(1)
browser.get('https://taobao.com/')
time.sleep(1)
browser.get('https://www.jd.com/')
time.sleep(1)
browser.back()
time.sleep(1)
browser.forward()
time.sleep(1)
browser.close()
複製代碼
在一個頁面中有不少不一樣的策略能夠定位一個元素。咱們能夠選擇最合適的方法去查找元素。Selenium提供了下列的方法:前端
單個元素查找方法 | 做用 |
---|---|
find_element_by_xpath() | 經過Xpath查找 |
find_element_by_class_name() | 經過class屬性查找 |
find_element_by_id() | 經過id屬性查找 |
find_element_by_name() | 經過name屬性進行查找 |
find_element_by_css_selector() | 經過css選擇器查找 語法規則 |
find_element_by_link_text() | 經過連接文本查找 |
find_element_by_partial_link_text() | 經過連接文本的部分匹配查找 |
find_element_by_tag_name() | 經過標籤名查找 (只有目標元素在當前html中是惟一標籤或者是衆多定位出來的標籤中的第一個的時候才使用!) |
注意:經過上述無論是哪種方法,其返回的節點類型都是WebElement類型! python
上面方法的element加上一個s,則是對應的多個元素的查找方法。 |
以下可知其返回內容是列表類型,列表中每一個節點仍然是WebElement類型:web
[<selenium.webdriver.remote.webelement.WebElement (session="73974727c0ec09e0b7d57639c3", element="1b33ea80-ba15-91ac-635903f79df2")>,
<selenium.webdriver.remote.webelement.WebElement (session="739747be09cb27c0ecd57639c3", element="1ac2f257-4364-be00-84de883b265d")>]
複製代碼
注意:find_element匹配不到就拋出異常,可是find_elements匹配不到返回空列表!shell
除了以上的多種查找方式,還有兩種私有方法集成了上面的全部的查找方法,讓咱們更方便的使用! |
方法 | 做用 |
---|---|
find_element(By.XPATH, ‘//button/span’) | 經過Xpath查找一個 |
find_elements(By.XPATH, ‘//button/span’) | 經過Xpath查找多個 |
其中的第一個參數能夠選擇使用查找的方法,By.xxx 使用xxx方式解析,解析方法以下(注意——By對象導入: from selenium.webdriver.common.by import By):瀏覽器
Selenium能夠驅動瀏覽器來執行一些操做,也就是說可讓瀏覽器模擬執行一些動做。markdown
方法 | 做用 |
---|---|
send_keys() | 輸入文字 |
clear() | 清空文字 |
click() | 點擊按鈕 |
submit() | 提交表單 |
# 定位用戶名
element=driver.find_element_by_id("userA")
# 輸入用戶名
element.send_keys("admin1")
# 刪除輸入的用戶名
element.send_keys(Keys.BACK_SPACE)
# 從新輸入用戶名
element.send_keys("admin_new")
# 全選
element.send_keys(Keys.CONTROL,'a')
# 複製
element.send_keys(Keys.CONTROL,'c')
# 粘貼
driver.find_element_by_id('passwordA').send_keys(Keys.CONTROL,'v')
複製代碼
從如今作起,堅持下去,一天進步一小點,不久的未來,你會感謝曾經努力的你! |
---|
本博主會持續更新爬蟲基礎分欄及爬蟲實戰分欄(爲了小夥伴們更好的進行頁面解析,也會更新部分前端必備知識點博文!),認真仔細看完本文的小夥伴們,能夠點贊收藏並評論出大家的讀後感。並可關注本博主,在從此的日子裏閱讀更多爬蟲文!session
若有錯誤或者言語不恰當的地方可在評論區指出,謝謝!
如轉載此文請聯繫我說明用以意並標註出處及本博主名,謝謝!
複製代碼