日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

selenium threading运行后退出_Selenium的使用

發布時間:2025/3/13 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 selenium threading运行后退出_Selenium的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Selenium是一個自動化測試工具,利用它可以模仿人類行為,如點擊、下滑、移動鼠標等,同時還能獲取網頁源碼

相關鏈接:https://www.selenium.dev/

目錄

1、準備工作

2、基本示范

3、功能介紹

4、信息獲取

5、切換頁面

1、準備工作

首先要確保安裝好selenium庫和對應瀏覽器的驅動,若沒有安裝可以參考前面的文章——爬蟲開發環境部署

2、基本示范

這里用的是Chrome瀏覽器

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

運行代碼后會彈出一個百度的頁面

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

browser = webdriver.Firefox()

3、功能介紹

  • 3.1、請求網站

用get()方法請求網站,傳入一個url即可,同時我們可以調用page_source獲取源碼

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

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

我們可以看到這個input標簽內有哪些內容class、id、name,我們可以通過這些來定位這個位置,當然也可以根據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)輸出結果: <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")>

我們可以發現都是一樣的

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

這里列出所有定位單個節點的方法,大家可以根據自己的習慣來選擇

  • 3.3、節點交互

這里介紹幾個常用的功能:點擊、輸入文本、清空文本

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

示例:

這里用百度搜索爬蟲

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

我們可以輕松的找到它,在class為s_ipt的input標簽下

輸入文本

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

清空文本

中間加個sleep,可以清楚看到全過程

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

最后點擊百度一下

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

4、信息獲取

  • 4.1、屬性獲取

既然可以定位節點那也可以獲取節點的屬性,可以調用get_attribute()

用上一個案例中的百度一下的按鈕吧

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() # 退出運行結果: bg s_btn 對比一下,一模一樣
  • 4.2、獲取文本

文本在class=“title”的span標簽內

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() # 退出運行結果: 下載百度APP

咦,怎么回事呢?

在網頁源碼中class=“title”的標簽不唯一,但是它只會返回第一個符合條件的。那現在怎么辦呢?用xpath定位,右鍵點擊標簽可以直接copy XPath規則

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() # 退出

但是直接報錯了,原來是我打開的百度與驅動器打開的百度設置不同。這里就用驅動器打開的百度調試就好了。

這就對上了

5、切換頁面

第一次打開百度一下的頁面,第二次新建一個頁面打開知乎的官網

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()')這個命令就是打開一個新的選項卡,switch_to.window()是切換到某個選項卡,這里是切換到第二個選項卡

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。