日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

selenium threading运行后退出_Selenium的使用

發(fā)布時(shí)間:2025/3/13 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 selenium threading运行后退出_Selenium的使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Selenium是一個(gè)自動(dòng)化測試工具,利用它可以模仿人類行為,如點(diǎn)擊、下滑、移動(dòng)鼠標(biāo)等,同時(shí)還能獲取網(wǎng)頁源碼

相關(guān)鏈接:https://www.selenium.dev/

目錄

1、準(zhǔn)備工作

2、基本示范

3、功能介紹

4、信息獲取

5、切換頁面

1、準(zhǔn)備工作

首先要確保安裝好selenium庫和對應(yīng)瀏覽器的驅(qū)動(dòng),若沒有安裝可以參考前面的文章——爬蟲開發(fā)環(huán)境部署

2、基本示范

這里用的是Chrome瀏覽器

from selenium import webdriverbrowser = webdriver.Chrome() browser.get('https://www.baidu.com') browser.quit() # 退出

運(yùn)行代碼后會(huì)彈出一個(gè)百度的頁面

如果你用的發(fā)其他瀏覽器,比如Firefox就可以這樣寫

browser = webdriver.Firefox()

3、功能介紹

  • 3.1、請求網(wǎng)站

用get()方法請求網(wǎng)站,傳入一個(gè)url即可,同時(shí)我們可以調(diào)用page_source獲取源碼

from selenium import webdriverbrowser = webdriver.Chrome() browser.get('https://www.baidu.com') print(browser.page_source) # 獲取網(wǎng)頁源碼 browser.quit() # 退出
  • 3.2、單個(gè)節(jié)點(diǎn)查找

我們查找一下百度的輸入框

我們可以看到這個(gè)input標(biāo)簽內(nèi)有哪些內(nèi)容class、id、name,我們可以通過這些來定位這個(gè)位置,當(dāng)然也可以根據(jù)css、xpath來查找

from selenium import webdriverbrowser = webdriver.Chrome() browser.get('https://www.baidu.com') a = browser.find_element_by_class_name('s_ipt') b = browser.find_element_by_id('kw') c = browser.find_element_by_xpath('//input[@class="s_ipt"]') browser.quit() # 退出 print(a) print(b) print(c)輸出結(jié)果: <selenium.webdriver.remote.webelement.WebElement (session="3a9746646e68a7e5ddb24304cbd6c705", element="fa252264-5131-42a3-ac27-b393d51867c1")> <selenium.webdriver.remote.webelement.WebElement (session="3a9746646e68a7e5ddb24304cbd6c705", element="fa252264-5131-42a3-ac27-b393d51867c1")> <selenium.webdriver.remote.webelement.WebElement (session="3a9746646e68a7e5ddb24304cbd6c705", element="fa252264-5131-42a3-ac27-b393d51867c1")>

我們可以發(fā)現(xiàn)都是一樣的

find_element_by_class_name()是根據(jù)class屬性查找find_element_by_id()就是根據(jù)id來查找

這里列出所有定位單個(gè)節(jié)點(diǎn)的方法,大家可以根據(jù)自己的習(xí)慣來選擇

  • 3.3、節(jié)點(diǎn)交互

這里介紹幾個(gè)常用的功能:點(diǎn)擊、輸入文本、清空文本

點(diǎn)擊用click(),輸入文本用send_keys(),清楚文本用clear()

示例:

這里用百度搜索爬蟲

首先是要找到輸入框所在的HTML位置

我們可以輕松的找到它,在class為s_ipt的input標(biāo)簽下

輸入文本

browser.find_element_by_class_name('s_ipt').send_keys('爬蟲')

清空文本

中間加個(gè)sleep,可以清楚看到全過程

browser.find_element_by_class_name('s_ipt').send_keys('爬蟲') time.sleep(1) browser.find_element_by_class_name('s_ipt').clear()

最后點(diǎn)擊百度一下

browser.find_element_by_id('su').click()

4、信息獲取

  • 4.1、屬性獲取

既然可以定位節(jié)點(diǎn)那也可以獲取節(jié)點(diǎn)的屬性,可以調(diào)用get_attribute()

用上一個(gè)案例中的百度一下的按鈕吧

from selenium import webdriverbrowser = webdriver.Chrome() browser.get('https://www.baidu.com') a = browser.find_element_by_id('su') print(a.get_attribute('class')) browser.quit() # 退出運(yùn)行結(jié)果: bg s_btn 對比一下,一模一樣
  • 4.2、獲取文本

文本在class=“title”的span標(biāo)簽內(nèi)

from selenium import webdriverbrowser = webdriver.Chrome() browser.get('https://www.baidu.com') a = browser.find_element_by_class_name('title') print(a.text) browser.quit() # 退出運(yùn)行結(jié)果: 下載百度APP

咦,怎么回事呢?

在網(wǎng)頁源碼中class=“title”的標(biāo)簽不唯一,但是它只會(huì)返回第一個(gè)符合條件的。那現(xiàn)在怎么辦呢?用xpath定位,右鍵點(diǎn)擊標(biāo)簽可以直接copy XPath規(guī)則

from selenium import webdriverbrowser = webdriver.Chrome() browser.get('https://www.baidu.com') a = browser.find_element_by_xpath('//*[@id="s_icons"]/a[2]/span[2]') print(a.text) browser.quit() # 退出

但是直接報(bào)錯(cuò)了,原來是我打開的百度與驅(qū)動(dòng)器打開的百度設(shè)置不同。這里就用驅(qū)動(dòng)器打開的百度調(diào)試就好了。

這就對上了

5、切換頁面

第一次打開百度一下的頁面,第二次新建一個(gè)頁面打開知乎的官網(wǎng)

from selenium import webdriverbrowser = webdriver.Chrome() browser.get('https://www.baidu.com') browser.execute_script('window.open()') browser.switch_to.window(browser.window_handles[1]) browser.get('https://www.zhihu.com/signin?next=%2F') browser.quit() # 退出

execute_script('window.open()')這個(gè)命令就是打開一個(gè)新的選項(xiàng)卡,switch_to.window()是切換到某個(gè)選項(xiàng)卡,這里是切換到第二個(gè)選項(xiàng)卡

與50位技術(shù)專家面對面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的selenium threading运行后退出_Selenium的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。