人工智能-机器学习之Selenium(chrome驱动,火狐驱动)
selenium是一個用于web應用程序測試的工具,Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE、Mozilla Firefox、Mozilla Suite等。這個工具的主要功能包括:測試與瀏覽器的兼容性——測試你的應用程序看是否能夠很好得工作在不同瀏覽器和操作系統之上。測試系統功能——創建衰退測試檢驗軟件功能和用戶需求。支持自動錄制動作和自動生成。Net、Java、Perl等不同語言的測試腳本。Selenium 是ThoughtWorks專門為Web應用程序編寫的一個驗收測試工具。
?
要使用selenium之前呢必須得先下載瀏覽器驅動器,我知道的瀏覽器只有這些
,Chrome瀏覽器 指定瀏覽器 Firefox :火狐 Opera 歌劇院 , Ie瀏覽器,Safari 蘋果瀏覽器 其中我只用過火狐和Chrome瀏覽器? ?? Chrome瀏覽器的驅動下載地址是:http://chromedriver.storage.googleapis.com/index.html 要下載的版本必須是你現在使用的版本最近的或一樣,然后把你下載的驅動解壓放在你的瀏覽器的文件中就可以來了? ? 要是不行的話就重啟一下 火狐瀏覽器的驅動下載地址是:https://github.com/mozilla/geckodriver/releases 他的操作也跟上邊的一樣 ,不過他的驅動就下最新版的就可以了 接下來就是selenium操作了 #導報 from selenium import webdriver import time import requests#建立瀏覽器對象 ,Chrome瀏覽器 指定瀏覽器 Firefox :火狐 Opera 歌劇院 , Ie瀏覽器,Safari 蘋果瀏覽器 browser = webdriver.Chrome() #使用瀏覽器訪問網站 browser.get('https://www.baidu.com')
#向文本框填充文本 browser.find_element_by_id("kw").send_keys('男神鵬')
time.sleep(1)
#模擬點擊 browser.find_element_by_id("su").click()
time.sleep(5)
#匹配多個節點 # elist = browser.find_elements('css selector','h3') elist = browser.find_elements_by_class_name('t')
text_str = str(elist[0].text)
print(text_str)
#點擊鏈接 browser.find_element_by_link_text(text_str).click()
#暫停 time.sleep(50)
#關閉瀏覽器 browser.quit() 注意 :每次連接一個地址都給瀏覽器緩沖時間? ?一秒也行,最后別忘了關閉瀏覽器,這是我簡單的一個操作流程, 他的流程就是先打開百度 然后 搜索:男生鵬? 然后進第一個頁面? 。 下面的就是一些selenium操作
最簡單粗暴卻失傳已久的8種定位
據說這種定位方式在江湖上都快要失傳了,實在想不通為什么,明明寫起來最簡單粗暴啊~
?
driver.find_element("name","wd").send_keys("Selenium2")
driver.find_element("id","su").click()
大家一定會和我一樣覺得這種方式的定位實在是太省事了~只要寫find_element就好啦,下面我們來總結一下這8種寫法與基本定位方法類比過來該怎么寫:
?
by_id -> find_element("id","")
?
by_xpath -> find_element("xpath","")
?
by_link_text -> find_element("link text","")
?
by_partial_text -> find_element("partial link text","")
?
by_name -> find_element("name","")
?
by_tag_name -> find_element("tag name","")
?
by_class_name -> find_element("class name","")
?
by_css_selector -> find_element("css selector","")
?
?
?
elements復數定位
在上面的例舉的八中基本定位方式種,都有對應的復數形式,分別是下面這些:
?
id復數定位find_elements_by_id()
name復數定位find_elements_by_name()
class復數定位find_elements_by_class_name()
tag復數定位find_elements_by_tag_name()
link復數定位find_elements_by_link_text()
partial_link復數定位find_elements_by_partial_link_text()
xpath復數定位find_elements_by_xpath()
css復數定位find_elements_by_css_selector()
這些復數定位方式每次取到的都是具有相同類型屬性的一組元素,所以返回的是一個list隊列,我們也可以利用這個去定位單個的元素。比如百度首頁種,右上角有新聞、視頻、地圖、貼吧等一些鏈接,我們通過f12查看源碼可以發現,這些鏈接都有共同的class,?class="mnav"。
selenium基礎操作就是這些了 ,希望對你們有幫助!!轉載于:https://www.cnblogs.com/weifeng-888/p/10494564.html
總結
以上是生活随笔為你收集整理的人工智能-机器学习之Selenium(chrome驱动,火狐驱动)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CreateFile
- 下一篇: 5 LInux系统目录结构