精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

這樣教都不會?還得我親自出馬!

開發(fā) 后端
如果想操作一個網(wǎng)頁上面的一個元素,無論點(diǎn)擊、輸入、拖拽等等任何操作,第一步就是定義元素。因?yàn)槊總€元素對象又包含很多個屬性,所以我們就能通過這些屬性一項(xiàng)或幾項(xiàng)輕松的找到它。

[[409680]]

本文轉(zhuǎn)載自微信公眾號「Python技術(shù)」,作者派森醬。轉(zhuǎn)載本文請聯(lián)系Python技術(shù)公眾號。

上次說到了還有別的方法能找到搜索框嗎?答案是當(dāng)然有了。而且為了滿足大部分場景,有很多方法可以定位元素。今天就來繼續(xù)跟大家一起學(xué)習(xí)下 Python 如何使用 Selenium 進(jìn)行自動化操控瀏覽器。

定位元素

如果想操作一個網(wǎng)頁上面的一個元素,無論點(diǎn)擊、輸入、拖拽等等任何操作,第一步就是定義元素。因?yàn)槊總€元素對象又包含很多個屬性,所以我們就能通過這些屬性一項(xiàng)或幾項(xiàng)輕松的找到它。

以下是幾種常用的定位元素的方法:

  • find_element_by_id():通過元素的 id 屬性來定位,這是最常見的定位方式,一般網(wǎng)頁包含的所有元素中,id 屬性是唯一的,定位速度快而且準(zhǔn)確,首選推薦。
  • find_element_by_name():通過元素的 name 屬性來定位,這是次要推薦方式,有些元素沒有 id ,但基本都有 name,但可能存在重名。
  • find_element_by_class_name():通過元素的 class 屬性來定位,一般 HTML 中元素都會有 class 用來做樣式描述。
  • find_element_by_link_text():這個是通過 對應(yīng)的鏈接文本對象來定位的,僅用于文本有超鏈接的時候。
  • find_element_by_partial_link_text():同 find_element_by_link_text() 相似,但可以只是超鏈接文本的一部分。
  • find_element_by_tag_name():可以通過元素的 tag name 來定位,但這個很容易會重復(fù),同時返回多個元素。
  • find_element_by_css_selector():這個是通過 css 來定位的。CSS 是一種樣式表語言,用來渲染元素樣式的,是網(wǎng)頁元素的重要組成部分。
  • find_element_by_xpath():這是一種可以通過 HTML 結(jié)構(gòu)進(jìn)行定位,可以通過根節(jié)點(diǎn)開始一層層定位,找到最終的元素。但這種方式在文檔結(jié)構(gòu)產(chǎn)生變化的時候可能會失效,所以不太推薦。

這么多的定位方法,基本上就能滿足大部分場景的需求了。還有一些其他的方法這里就不再說了。

下面我把這些定位的例子列出來,大家就能知道該如何使用:

  1. // 導(dǎo)入 webdriver 
  2. from selenium import webdriver 
  3.  
  4. // executable_path 用于指定driver存放路徑 
  5. browser = webdriver.Chrome(executable_path='/Users/xx/python/chromedriver'
  6. // 打開百度頁面 
  7. browser.get('https://wwww.baidu.com/'
  8. // 在搜索框內(nèi)輸入 `python selenium` 并點(diǎn)搜索返回結(jié)果 
  9. browser.find_element_by_id("kw").send_keys("python selenium"
  10. // name 屬性定位 
  11. browser.find_element_by_name("wd").send_keys("python selenium"
  12. // class name 屬性定位 
  13. browser.find_element_by_class_name("s_ipt").send_keys("python selenium"
  14. // 鏈接 text 屬性定位 
  15. browser.find_element_by_link_text("關(guān)于百度").click() 
  16. // tag name 屬性定位 
  17. browser.find_element_by_tag_name("input").send_keys("python selenium"
  18. // CSS 方式定位 
  19. browser.find_element_by_css_selector("#kw").send_keys("python selenium"
  20. // xpath 方式定位 
  21. browser.find_element_by_xpath("//input[@id='kw']").send_keys("python selenium"
  22. // 點(diǎn)擊 百度一下 按鈕 
  23. browser.find_element_by_id("su").click() 

元素是定位到了,接下來就是看要如何操作元素對象了

操作元素

上面我們說了元素是怎么定位找到的,那定位找到元素以后,我們又能對它進(jìn)行什么操作呢,下面我就來一個個說下:

  • send_keys():這是最常用的,就是對元素模擬按鍵操作,輸入你參數(shù)中傳入的字符串,主要用來操作文本輸入框時使用。
  • click():這個方法也是比較常用的,就是對元素對象進(jìn)行鼠標(biāo)單擊操作,主要用來操作按鈕或超鏈接文本時使用。
  • submit():如果是操作表單,則可以調(diào)用這個方法進(jìn)行表單內(nèi)容提交。
  • clear():如果對象有可以清除的內(nèi)容,比如文本輸入框,則清除已輸入的內(nèi)容。
  • text():這個方法主要用來獲取元素的文本內(nèi)容。

操作實(shí)例

好了,上面介紹那么多,現(xiàn)在我們來看一個實(shí)際的例子:

讓瀏覽器自動輸入 https://www.jd.com/,打開京東官網(wǎng),然后搜索 ps5國行,并把搜索出來商品的名稱和金額打印出來。

例子不復(fù)雜,我們直接來看代碼:

  1. # 導(dǎo)入庫 
  2. from selenium import webdriver 
  3. import time 
  4.  
  5. # executable_path 用于指定driver存放路徑 
  6. browser = webdriver.Chrome(executable_path='/Users/xx/python/chromedriver'
  7. # 打開京東官網(wǎng) 
  8. browser.get('https://www.jd.com/'
  9.  
  10. # browser.find_element_by_id("kw").send_keys("python selenium"
  11.  
  12. # 獲取輸入框?qū)ο?nbsp;
  13. search = browser.find_element_by_xpath('//*[@id="key"]'
  14.  
  15. # 輸入想要搜索的關(guān)鍵詞,如"ps5國行" 
  16. search.send_keys('ps5國行'
  17.  
  18. # 獲取搜索按鈕對象并單擊 
  19. browser.find_element_by_xpath('//*[@id="search"]/div/div[2]/button').click() 
  20.  
  21. # 將滾動條移動到頁面底部,用于加載所有信息 
  22. javascript = "var q=document.documentElement.scrollTop=50000" 
  23. # 執(zhí)行 javascript 移動滾動條 
  24. browser.execute_script(javascript) 
  25. # 等待3秒,有些異步加載的數(shù)據(jù)加載慢 
  26. time.sleep(3) 
  27.  
  28. # 通過查看頁面源碼得到金額的 xpath 路徑,并獲取金額  
  29. prices = browser.find_elements_by_xpath('//*[@id="J_goodsList"]/ul/li/div/div[2]/strong/i'
  30. # 通過查看頁面源碼得到商品標(biāo)題的 xpath 路徑,并獲取商品標(biāo)題 
  31. names = browser.find_elements_by_xpath('//*[@id="J_goodsList"]/ul/li/div/div[3]/a/em'
  32.  
  33. # 遍歷打印出當(dāng)前頁所有標(biāo)題和金額 
  34. for name,price in zip(names,prices): 
  35.     print(name.text.replace('\n',''),price.text) 
  36.  
  37. #退出瀏覽器 
  38. browser.quit() 

代碼中我已經(jīng)對每一行做了注釋,讓大家能看明白每一行都是做什么的。接下來我們直接運(yùn)行代碼 python test.py,可以看到瀏覽器自動啟動后,執(zhí)行相關(guān)操作,然后退出,下面是執(zhí)行中的截圖:

執(zhí)行完成后,我們可以看到控制臺已經(jīng)打印出來相應(yīng)信息:

總結(jié)

 

好了,今天我們又介紹了下 selenium 定位元素的多種方法,以及我們找到元素后,可以對它進(jìn)行什么操作。并寫了一個自動化操作的簡單例子,給大家學(xué)習(xí)參考,后續(xù)還會為大家介紹更多。

 

責(zé)任編輯:武曉燕 來源: Python技術(shù)
相關(guān)推薦

2010-10-13 14:02:38

AndroidMeeGoGoogle

2022-03-27 22:07:35

元宇宙虛擬人IBM

2015-03-16 11:33:16

程序員代碼bug

2017-02-08 19:49:03

內(nèi)存SSDDRAM

2019-12-26 09:56:34

Java多線程內(nèi)部鎖

2023-05-16 07:15:11

架構(gòu)模型對象

2022-09-08 10:29:12

Spring接口

2021-05-21 12:15:09

SpringJava代碼

2020-09-27 06:50:56

Java互聯(lián)網(wǎng)注解

2025-10-30 07:06:00

內(nèi)存管理架構(gòu)memcache

2021-04-20 09:55:37

Linux 開源操作系統(tǒng)

2025-10-31 07:05:00

MQ平滑遷移MySQL

2014-12-11 10:01:09

程序員

2010-10-26 11:05:27

霍金

2025-05-26 09:46:08

2017-09-12 14:58:27

大數(shù)據(jù)計數(shù)原理

2017-09-19 15:09:50

大數(shù)據(jù)計數(shù)原理

2017-09-30 08:05:41

大數(shù)據(jù)計數(shù)原理

2017-10-25 16:03:08

大數(shù)據(jù)計數(shù)原理

2010-09-16 10:50:46

李開復(fù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

白白在线精品| 久草在线视频福利| 日本亚洲最大的色成网站www| 亚洲老司机av| 一级黄色特级片| 视频在线观看入口黄最新永久免费国产| 国产成人精品亚洲777人妖| 久久久视频免费观看| 蜜桃精品成人影片| 黄色成人在线视频| 亚洲综合另类小说| 无码免费一区二区三区免费播放| 国产人妻精品一区二区三区| 亚洲欧美成人综合| 久久久国产一区二区| 老熟妇精品一区二区三区| 国产精品videossex撒尿| 亚洲综合999| 日本精品免费| 午夜精品久久久久久久99老熟妇| 久久一区国产| 久久91精品国产91久久跳| 中国黄色a级片| 国产精品一区二区三区av | 亚洲久久成人| 国产亚洲激情视频在线| 精品人妻一区二区免费| 少妇高潮一区二区三区99| 天天综合色天天综合色h| 亚洲一区bb| 日本福利片在线| 国产成人精品www牛牛影视| 国产精品成人一区| 国产午夜免费视频| 国产精品二区不卡| 亚洲欧美日韩一区二区在线 | 日韩欧美专区| 欧美亚洲高清一区二区三区不卡| 日本丰满少妇xxxx| 在线观看h网| 亚洲少妇30p| 亚洲精品在线视频观看| 久青草国产在线| 91在线视频免费观看| 国产精品12| 国产日韩欧美一区二区东京热| 日本最新不卡在线| 日本精品性网站在线观看| 日韩成人一区二区三区| 亚洲香蕉网站| 欧美乱妇40p| 免费中文字幕在线| 91成人观看| 另类图片亚洲另类| 欧洲第一无人区观看| 无需播放器亚洲| 日韩在线免费高清视频| 国产在线免费av| av亚洲在线观看| 国产午夜一区二区| 无码少妇精品一区二区免费动态| 自拍视频一区| 亚洲天堂色网站| 日韩欧美黄色网址| 欧美日中文字幕| 中文字幕日本精品| 国产成人免费在线观看视频| 四虎成人av| 久久成人在线视频| 精品少妇久久久久久888优播| 极品少妇一区二区三区| 97久久精品在线| 欧美 日韩 精品| 日韩电影在线免费看| 国产一区二区在线免费| a天堂视频在线| 成人高清伦理免费影院在线观看| 国产精品国产亚洲精品看不卡15| 神马久久久久久久久久| 91一区二区在线| 日韩精品一区二区三区四区五区| 久热国产在线| 一区二区久久久久| 欧美精品一区免费| 99热播精品免费| 欧美一级生活片| 国产69视频在线观看| 亚洲精品进入| 日日狠狠久久偷偷四色综合免费 | 99精品视频在线观看播放| 久久香蕉频线观| 国产精品2020| 日韩不卡一区二区三区| 91精品视频在线免费观看| 欧美 日韩 人妻 高清 中文| 国产喂奶挤奶一区二区三区| 中文字幕av导航| 白浆在线视频| 欧美三级日韩三级国产三级| 免费黄视频在线观看| 在线视频亚洲专区| 欧美成人精品xxx| 国产www在线| 国产美女一区二区三区| 明星裸体视频一区二区| 伦xxxx在线| 国产精品欧美一区二区三区不卡| 国产专区一区| 毛片精品免费在线观看| 国产又爽又黄的视频| 麻豆国产精品一区二区三区| julia一区二区中文久久94| 黄色片免费在线| 亚洲一区二区三区四区五区中文 | 9191成人精品久久| 手机av在线网站| 国产欧美日韩| 久久久之久亚州精品露出| 这里只有久久精品视频| 成人午夜大片免费观看| 亚洲欧洲精品在线观看| 午夜影院一区| 亚洲а∨天堂久久精品9966| 欧美乱大交做爰xxxⅹ小说| 99精品国产福利在线观看免费| 91精品久久久久久久久久另类| 青青草视频在线免费观看| 一区二区三区中文字幕电影| 尤物国产在线观看| 蜜乳av综合| 97在线视频国产| 亚洲国产剧情在线观看| 最新国产成人在线观看| 手机在线免费观看毛片| 自拍偷拍欧美一区| 欧美疯狂xxxx大交乱88av| 一二三四区在线| 亚洲国产精华液网站w| 无码人妻丰满熟妇区毛片18| 欧美爱爱网站| 91国内免费在线视频| 刘玥91精选国产在线观看| 亚洲卡通动漫在线| 手机在线国产视频| 色琪琪久久se色| 国产精品va在线播放| 蜜桃视频在线入口www| 天天色综合成人网| 800av在线播放| 99热免费精品在线观看| 国产综合第一页| 精精国产xxxx视频在线野外| 日韩免费在线观看| 欧美黑人一级片| 成人一道本在线| 全黄性性激高免费视频| 久久a级毛片毛片免费观看| 国内揄拍国内精品少妇国语| 国产91久久久| 亚洲午夜久久久| 极品白嫩丰满美女无套| 免费日韩av片| 色综合久久88色综合天天提莫| 性高爱久久久久久久久| 中文字幕日韩av电影| 国产精品毛片久久久久久久av| 亚洲视频香蕉人妖| 麻豆传媒在线看| 欧美特黄一区| 精品久久久久久综合日本| 98色花堂精品视频在线观看| 亚洲精品久久久久| 欧美一区免费看| 国产精品污网站| 久久精品亚洲天堂| 在线高清一区| 欧美美乳视频网站在线观看| 日韩一区二区三区免费视频| 日韩中文字幕在线视频| 亚洲精品911| 黑人巨大精品欧美一区二区免费| 播金莲一级淫片aaaaaaa| 日本aⅴ亚洲精品中文乱码| 一区二区三区国| 超碰成人在线观看| 日本精品性网站在线观看| 2021av在线| 欧美成人一区二区三区在线观看| 国产性xxxx高清| 国产精品乱码久久久久久| 日韩精品在线播放视频| 国产日韩一区| 中文字幕色一区二区| 欧美一区自拍| 成人国产精品一区二区| 17videosex性欧美| 亚洲人成毛片在线播放| 国产巨乳在线观看| 五月天亚洲精品| 精品一区二区在线观看视频| 成人高清视频在线| 亚洲免费999| 中国女人久久久| 做爰高潮hd色即是空| 日韩欧美黄色| 91久久国产精品91久久性色| 香蕉伊大人中文在线观看| 久久影视电视剧免费网站清宫辞电视 | 国产精品草草| 亚洲欧洲精品一区| 欧美成人专区| av色综合网| 欧美大陆国产| 欧洲成人在线视频| 色爱综合区网| 最近2019中文字幕大全第二页| 日批免费在线观看| 91精品免费观看| 无码视频在线观看| 亚洲观看高清完整版在线观看 | 国内精品久久久久久久影视简单 | 日韩美女啊v在线免费观看| 国产熟女高潮一区二区三区| 激情五月婷婷综合网| 免费日韩中文字幕| 韩国在线视频一区| 一本一道久久a久久综合精品 | 亚洲国产免费av| 99久久夜色精品国产亚洲| 欧美在线观看视频一区二区| 久久久午夜影院| 亚洲一区在线观看免费观看电影高清| 北条麻妃在线观看视频| 中日韩av电影| 亚洲精品乱码久久久久久久久久久久| 成人免费福利片| 成人免费播放视频| 国产在线视频一区二区| 亚洲综合色在线观看| 久久资源在线| aaa毛片在线观看| 99re国产精品| 欧美一级视频在线播放| 狠狠88综合久久久久综合网| 日韩精品一区二区三区电影| 国产精品88久久久久久| 亚洲精品久久区二区三区蜜桃臀 | 成人av网站大全| 最好看的中文字幕| 国产精品资源在线| 黄色三级视频在线播放| 国产精品一区二区久久不卡| 小泽玛利亚视频在线观看| 久久精品午夜| 午夜免费高清视频| 久久久综合网| 精品久久久噜噜噜噜久久图片| 丝袜亚洲另类欧美| jizz欧美激情18| 久久99精品久久久久久动态图| 色综合色综合色综合色综合| 久久精品国产精品亚洲综合| 777一区二区| 国产在线精品免费av| 四川一级毛毛片| av网站一区二区三区| 丰满少妇一区二区三区| 国产亚洲一区二区在线观看| 欧美性受xxxx黑人| 亚洲欧洲性图库| 国产这里有精品| 欧美三级免费观看| 中文在线免费看视频| 91精品婷婷国产综合久久性色| www.综合色| 亚洲精品国产品国语在线| 国产精品毛片一区二区三区四区| 中文字幕无线精品亚洲乱码一区| 麻豆传媒视频在线观看免费| 久久99国产精品久久久久久久久| 999福利在线视频| 国产精品人成电影在线观看| 91麻豆精品一二三区在线| 99久久久精品免费观看国产| 日本精品影院| 在线精品日韩| 亚洲高清av| 色乱码一区二区三区在线| 国产成人亚洲综合a∨婷婷图片 | 国产欧美日韩成人| 亚洲精品在线电影| 成人在线免费电影| 久操成人在线视频| 免费观看成人性生生活片| 91精品久久久久久久久久另类 | 国产在线看一区| 少妇一级淫片免费放播放| 国产亚洲欧洲997久久综合| 永久久久久久久| 色拍拍在线精品视频8848| www.成人免费视频| 亚洲图片在线综合| 黄网av在线| 国产精品精品久久久| 欧美成人精品一级| 色就是色欧美| 亚洲国产精品第一区二区三区| 天天干天天爽天天射| 91在线你懂得| 九九热精品在线观看| 欧美色爱综合网| 香蕉久久一区二区三区| 久久精品久久精品亚洲人| 久久久久久久| 国产精品二区在线| 91久久久精品国产| 色诱视频在线观看| proumb性欧美在线观看| 五月综合色婷婷| 91成人在线精品| 天天干天天爽天天操| 久久福利视频网| 国产成人77亚洲精品www| 久久亚裔精品欧美| 亚洲一级高清| 国产伦理在线观看| 国产精品国产三级国产aⅴ无密码| 天天操天天操天天操天天| 欧美mv和日韩mv的网站| 色的视频在线免费看| 国产精品v片在线观看不卡| 欧美韩一区二区| 日本精品久久久久久久久久| 国产在线视视频有精品| 貂蝉被到爽流白浆在线观看| 欧美影视一区二区三区| 每日更新av在线播放| 26uuu久久噜噜噜噜| 高清一区二区三区| 免费在线看黄色片| 国产成人精品综合在线观看 | 欧美日韩网址| 久久久福利影院| 综合久久一区二区三区| 一级特黄录像免费看| 日韩在线视频国产| 美女写真久久影院| 日韩啊v在线| 日韩国产欧美在线播放| av电影网站在线观看| 色婷婷综合久久久久中文| 免费黄色片在线观看| 国产999在线观看| 免费视频亚洲| 99草草国产熟女视频在线| 日本一区二区三区四区 | 欧美裸体一区二区三区| 欧美性天天影视| 成人免费午夜电影| 亚洲国产日韩欧美在线| 国产成人av片| 午夜视频久久久久久| 五月天婷婷社区| 国产成人精品免高潮在线观看| 精品国产一区二区三区噜噜噜| 中文字幕国产传媒| 亚洲男同1069视频| 成人黄色在线观看视频| 97视频在线观看亚洲| 精品美女在线视频| 亚洲美女性囗交| 一级女性全黄久久生活片免费| 人妻丰满熟妇av无码区hd| 91av国产在线| 欧美精品羞羞答答| 亚洲第一区第二区第三区| 夜夜嗨av一区二区三区中文字幕| 欧美 日韩 人妻 高清 中文| 国产99在线|中文| 午夜精品视频一区二区三区在线看| 亚洲 自拍 另类 欧美 丝袜| 欧美日韩国产激情| 色综合久久影院| 99久久精品久久久久久ai换脸| 午夜在线视频观看日韩17c| 国产aaaaaaaaa| 日韩你懂的在线观看| 欧美亚洲大片| 激情五月六月婷婷| 久久久久亚洲综合| 国产成人精品无码高潮| 欧洲成人性视频| 你懂的视频一区二区| 欧美成人午夜精品免费| 欧美军同video69gay| 日韩精品美女| 四虎4hu永久免费入口| 久久网站热最新地址| 国产麻豆一精品一男同| 人人做人人澡人人爽欧美|