Python+Selenium+Chrome 筆記(2)Selenium的Hello World

在上一篇文章配置好 Selenium 和 Chrome Driver 后香府,我們該來了學習一下 Selenium 了狈茉。

在此之前我先簡單介紹一下Selenium調(diào)用Chrome Drive的幾個常用的參數(shù)設置:
1、不加載圖片
2劣欢、不使用GUI(handless,也就是不打開Chrome的界面裁良,后臺運行凿将,這樣子的話在服務器上很好用)

代碼如下:

from selenium import webdriver

PicLoad = False  #這里設置是否加載圖片
GUILoad = True  #這里設置是否啟動GUI

chrome_options = webdriver.ChromeOptions()  #初始化chrome的options

#加載圖片設置
if not PicLoad:
    prefs = {"profile.managed_default_content_settings.images": 2}
    chrome_options.add_experimental_option("prefs", prefs)

#加載GUI設置
if not GUILoad:
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--disable-gpu')

在完成了Chrome Driver的設置之后,我們就可以開始學習Selenium的函數(shù)了价脾。
首先我們打開一個網(wǎng)站丸相,以百度的主頁為例:

driver = webdriver.Chrome(chrome_options=chrome_options)  #初始化webdriver
driver.get('https://www.baidu.com/')  #打開百度的頁面

打開頁面之后,我們先開始尋找我們要抓取或者進行操作的元素彼棍。
Selenium提供了八種定位方式:
id , name , class name , tag name ,link text , partial link text , xpath , css selector
調(diào)用的方法也比較相似灭忠。
假設我們要實現(xiàn)在百度頁面的輸入框輸入文字并且進行搜索。

我們先定位到搜索框:
這里有很多種定位方式座硕,我舉例兩種:

dr.find_element_by_id("kw")  #通過id定位

或者

elem = driver.find_element_by_xpath('//*[@id="kw"]')  #通過xpath定位

雖然兩種方式都是按他的id定位的…
這里我簡單提一下xpath的快速獲取方式:
可以在Chrome中右鍵Copy Xpath


xpath獲取

下面開始介紹Selenium的一些基本的操作函數(shù):

方法 功能
set_window_size() 設置瀏覽器的大小
back() 控制瀏覽器后退
forward() 控制瀏覽器前進
refresh() 刷新當前頁面
clear() 清除文本
send_keys (value) 模擬按鍵輸入
click() 單擊元素
submit() 用于提交表單
get_attribute(name) 獲取元素屬性值
is_displayed() 設置該元素是否用戶可見
size 返回元素的尺寸
text 獲取元素的文本

我們要定位到了輸入的表單弛作,現(xiàn)在要給他輸入一個搜索的關(guān)鍵字并回車,代碼如下:

elem.send_keys('Hello world!')
elem.send_keys(Keys.RETURN)

其中的 Keys.RETURN 要在文件中先import

from selenium.webdriver.common.keys import Keys

然后我們再打開第一個鏈接:

elem = driver.find_element_by_xpath('//*[@id="1"]/h3/a')
elem.click()

Selenium的基本操作就到這里了华匾。
附上完整代碼:

#coding:utf-8

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

PicLoad = True
GUILoad = True

chrome_options = webdriver.ChromeOptions()
if not PicLoad:
    prefs = {"profile.managed_default_content_settings.images": 2}
    chrome_options.add_experimental_option("prefs", prefs)
if not GUILoad:
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--disable-gpu')

driver = webdriver.Chrome(chrome_options=chrome_options)

driver.get('https://www.baidu.com/')
elem = driver.find_element_by_name('wd')
elem.send_keys('Hello world!')
elem.send_keys(Keys.RETURN)
time.sleep(1)
elem = driver.find_element_by_xpath('//*[@id="1"]/h3/a')
elem.click()

感謝:
https://blog.csdn.net/qq_36962569/article/details/77200118
https://blog.csdn.net/weixin_36279318/article/details/79475388

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末映琳,一起剝皮案震驚了整個濱河市机隙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌萨西,老刑警劉巖有鹿,帶你破解...
    沈念sama閱讀 210,835評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異谎脯,居然都是意外死亡葱跋,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,900評論 2 383
  • 文/潘曉璐 我一進店門源梭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來娱俺,“玉大人,你說我怎么就攤上這事废麻≤恚” “怎么了?”我有些...
    開封第一講書人閱讀 156,481評論 0 345
  • 文/不壞的土叔 我叫張陵烛愧,是天一觀的道長油宜。 經(jīng)常有香客問我,道長怜姿,這世上最難降的妖魔是什么验庙? 我笑而不...
    開封第一講書人閱讀 56,303評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮社牲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘悴了。我一直安慰自己搏恤,他們只是感情好,可當我...
    茶點故事閱讀 65,375評論 5 384
  • 文/花漫 我一把揭開白布湃交。 她就那樣靜靜地躺著熟空,像睡著了一般。 火紅的嫁衣襯著肌膚如雪搞莺。 梳的紋絲不亂的頭發(fā)上息罗,一...
    開封第一講書人閱讀 49,729評論 1 289
  • 那天,我揣著相機與錄音才沧,去河邊找鬼迈喉。 笑死,一個胖子當著我的面吹牛温圆,可吹牛的內(nèi)容都是我干的挨摸。 我是一名探鬼主播,決...
    沈念sama閱讀 38,877評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼岁歉,長吁一口氣:“原來是場噩夢啊……” “哼得运!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,633評論 0 266
  • 序言:老撾萬榮一對情侶失蹤熔掺,失蹤者是張志新(化名)和其女友劉穎饱搏,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體置逻,經(jīng)...
    沈念sama閱讀 44,088評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡推沸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,443評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了诽偷。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坤学。...
    茶點故事閱讀 38,563評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖报慕,靈堂內(nèi)的尸體忽然破棺而出深浮,到底是詐尸還是另有隱情,我是刑警寧澤眠冈,帶...
    沈念sama閱讀 34,251評論 4 328
  • 正文 年R本政府宣布飞苇,位于F島的核電站,受9級特大地震影響蜗顽,放射性物質(zhì)發(fā)生泄漏布卡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,827評論 3 312
  • 文/蒙蒙 一雇盖、第九天 我趴在偏房一處隱蔽的房頂上張望忿等。 院中可真熱鬧,春花似錦崔挖、人聲如沸贸街。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,712評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽薛匪。三九已至,卻和暖如春脓鹃,著一層夾襖步出監(jiān)牢的瞬間逸尖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,943評論 1 264
  • 我被黑心中介騙來泰國打工瘸右, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留娇跟,地道東北人。 一個月前我還...
    沈念sama閱讀 46,240評論 2 360
  • 正文 我出身青樓太颤,卻偏偏與公主長得像逞频,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子栋齿,可洞房花燭夜當晚...
    茶點故事閱讀 43,435評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 摘要: 之前用Selenium做UI自動化測試從初學到熟練碰到過很多問題苗胀,這里就不一一細說了襟诸,所以把最基本的操作都...
    Vicky_習慣做唯一閱讀 11,360評論 1 23
  • 洞見SELENIUM自動化測試 寫在最前面:目前自動化測試并不屬于新鮮的事物,或者說自動化測試的各種方法論已經(jīng)層出...
    厲鉚兄閱讀 6,713評論 3 47
  • 這篇文章在介紹官網(wǎng)的同時使用了比較多的腳本示例基协,示例里遇到的問題有部分在本篇文章進行了解釋歌亲,還有一篇文章專門記錄了...
    顧顧314閱讀 12,906評論 3 32
  • Selenium 官網(wǎng)Selenium WebDriver官網(wǎng)webdriver實用指南python版本 WebD...
    顧顧314閱讀 46,967評論 0 34
  • 《極簡的生活》有川真由美 父母是我們從小習慣的培養(yǎng)者,除了他們澜驮,老師對我們的影響也很大陷揪。但是當我們脫離了學校之后,...
    賣氣球的淺茶閱讀 485評論 0 2