版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、等待元素出現(xiàn)隱式等待用 WebDriver 對象的 implicitly_wait 方法。 這個方法有一個參數(shù),指明等待最長時間。driver.implicitly_wait(10)顯式等待Selenium 里面還有一種稱之為顯式等待的, 可以為一個操作專門指定等待時間比較長,可以順著讀一遍,很像自然語言.大家不用強記,需要使用的時候,直接拷貝,修改紅色部分就可以了。Frame 切換frame 介紹例子,網(wǎng)頁中包含網(wǎng)頁:ht/#/discover/toplist?id=60198iframe 就是一個特殊的 html 元素, 它在原來的 html 范圍內(nèi),開辟了一個新的 HTML。如果一個 h
2、tml 文檔結構比作一個國家的話, iframe 就像 在一個國家里面建立一個附屬國家。 里面是一個全新的 html 文檔。就像國中之國from selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions asECfrom selemon.by import Byele = WebDriverWait(driver,60).until(EC.presence_of_element_located(By.ID,1)W3C 對 frame 的
3、介紹iframe:http:.cn/tags/tag iframe.aspframeset:http:.cn/tags/tag_frameset.asp兩者的區(qū)別是:iframe 用于在網(wǎng)頁內(nèi)顯示網(wǎng)頁。和 frameset 不同的是,frameset 內(nèi)置好幾個子 html而 iframe 只內(nèi)置一個子 htmlwebdriver 切換 frame 的方法這個frame_reference 可以是frame 元素的 name 屬性值 或者 ID 屬性值:contentFrame(瀏覽器里面看一下)索引值 (從 0 開始):0可能有人問,我咋知道索引?誰先出現(xiàn)就是第一個frame 所對應的 We
4、bElement :driver.find_element_by_tag_name(iframe)建議優(yōu)先使用第一種,如果 frame 元素沒有 name 屬性,就用下面的兩種方法。比如元素有 ID, 就可以根據(jù) find element by id 找到 webelement 對象,然后, 就是第三種了。從里面的 frame 切換回主 HTML嵌套 frame 中如何逐層切換一層一層的切換返回上一層 framedriver.switch_to.parent_frame()driver.switch_to.frame(layer2) driver.switch_to.frame(layer3)
5、driver.switch_to.default_content()driver.switch_to.frame(frame_reference)注意動態(tài) ID 不能使用前面找榜歌曲的時候,f12 顯示,尋找 ID 是找的這個藍框中的, 為什么不找紅框子中的呢?比上面的 div 更貼近要找的 table 元素, 而且它也有 id 啊。?很多前端開發(fā)框架會自動生成一些元素, 有動態(tài)生成的 id 會變,這個是 會變的 id 要注意,不能用來選擇怎么識別是動態(tài)的呢? 名字往往是一串隨機字符,而不會變的 id 值通常名字是有意義的單詞。CSS 選擇器css 選擇器是什么css 選擇器 是瀏覽器用來選擇
6、元素的,selenium 也要選擇元素,也可以使用 css的選擇器語法來選擇 web 元素。 而且這種方法效率還非常的高。CSS 選擇器基本用法根據(jù) tag 名 選擇p color: red;表示選擇所有的 p 元素 , 運行一下都變成紅色了如果改為p color: blue;, 運行一下這里面 選擇器就根據(jù)元素名。起到了選擇的作用根據(jù)id ,修改一下#food color: blue; 表示選擇 ID 為 food 的 元素 ,如果改為#food2 color: blue;, 運行一下這里面 選擇器就根據(jù)id 。起到了選擇的作用根據(jù) class 選擇,修改一下有的元素 有兩個 class 值
7、,.vegetable color: blue; 表示選擇所有的為 vegetable 的元素 ,注意class表示這個元素 有兩個 class 值, 而不是一個 vegetable good 整體的屬性這里面 選擇器就根據(jù)class。起到了選擇的作用可以黃瓜.goodcolor: red;黃瓜.spel color: red;當然也可以組合寫 span.vegetablecolor: blue;這樣 p.vegetable 就不會被選中以上介紹的只是 css 選擇器的冰山一角,后續(xù)課程中也會陸續(xù)講到 css 的高級使用技巧內(nèi)容移步到 w3c 有資料使用 css 方法選擇元素CSS 后代選擇器
8、用法語法 如下表示 選擇 s1 元素 里面 所有的 s2 元素, S2 可以是 S1 的直接子節(jié)點,也可以不是其中可以是前面學過的 css 根據(jù) tag 名、id 、 class 描述的任何語法比如:#choose_car option就是 選擇 id 為 choosecar 的元素的到底是 不是直接子元素,不重要,的為 option 的子元素。只要是 屬于choose_car 的的 option 元素就可以了。上節(jié)課作業(yè)代碼:eles = driver.find_elements_by_css_selector(#choose_car option)青菜.vegetable.good#新歌榜
9、song_items=soup.find_all(div,class_=song-item)soup=BeautifulSoup(html_doc,html5lib)from bs4 import BeautifulSoup#BS 方法html_doet_attribute(outerHTML)ele=driver.find_element_by_id(songListWrapper)close_btn0.click()if close_btn:#如果彈出框存在就點擊ebtn)close_btn=driver.find_elements_by_id(_qianqian_pop_clos#點擊彈
10、出框driver.get(http/top/new)driver.implicitly_wait(10)driver=webdriver.Chrome()from selenium import webdriver# up=item.find_elements_by_class_name(up)# for item in song_items:# # driver.implicitly_wait(0)# song_items=ele.find_elements_by_class_name(song-item)pr(fsong_titlesinger)singer=item.find(span,class_=singer).get_text()title).stringsong_title=item.find(span,class_=song-if iclass0=up:#判斷屬性是否是 up# pr(iclass)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 ISO/IEC 18181-3:2025 EN Information technology - JPEG XL image coding system - Part 3: Conformance testing
- 二零二五版建筑安裝工程節(jié)能評估合同模板2篇
- 二零二五年機關單位勞動合同續(xù)簽與解約操作指南3篇
- 二零二五版海洋工程船舶維修保險合同3篇
- 二零二五年度教育培訓機構借款合同范本:助力教育產(chǎn)業(yè)發(fā)展3篇
- 二零二五年紅提葡萄品牌推廣與銷售代理合同3篇
- 二零二五版股權投資合作終止后的股權轉讓合同2篇
- 二零二五版保育員家庭服務與職業(yè)發(fā)展合同3篇
- 二零二五年度文化創(chuàng)意產(chǎn)業(yè)勞動保障監(jiān)察與管理規(guī)范合同3篇
- 二零二五版地下管廊鋼筋施工分包合同范本3篇
- 奶茶督導述職報告
- 山東萊陽核電項目一期工程水土保持方案
- 白熊效應(修訂版)
- 小學數(shù)學知識結構化教學
- 視頻監(jiān)控維保項目投標方案(技術標)
- 社會組織能力建設培訓
- 立項報告蓋章要求
- 2022年睪丸腫瘤診斷治療指南
- 被執(zhí)行人給法院執(zhí)行局寫申請范本
- 主變壓器試驗報告模板
- 安全防護通道施工方案
評論
0/150
提交評論