一、Selenium簡介
Selenium是一個用于Web應(yīng)用程序測試的工具,Selenium 測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。模擬瀏覽器功能,自動執(zhí)行網(wǎng)頁中的js代碼,實現(xiàn)動態(tài)加載。
二、環(huán)境配置
1、查看本機電腦谷歌瀏覽器的版本。
打開谷歌瀏覽器-->右上角三個點-->幫助-->關(guān)于
2、下載谷歌瀏覽器的驅(qū)動
下載地址:http://chromedriver.storage.googleapis.com/index.html
找到對應(yīng)瀏覽器版本驅(qū)動文章來源:http://www.zghlxwxcb.cn/news/detail-701948.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-701948.html
?3、安裝selenium
pip install selenium
?三、使用
1、舊版本使用
from selenium import webdriver
path = 'chromedriver.exe'
browser = webdriver.Chrome(path)
url = 'https://www.baidu.com'
browser.get(url)
# 元素定位
# 根據(jù)id來找到對象
button = browser.find_element_by_id('su')
print(button)
# 根據(jù)標(biāo)簽屬性的屬性值來獲取對象的
button = browser.find_element_by_name('wd')
print(button)
# 根據(jù)xpath語句來獲取對象
button = browser.find_elements_by_xpath('//input[@id="su"]')
print(button)
# 根據(jù)標(biāo)簽的名字來獲取對象
button = browser.find_elements_by_tag_name('input')
print(button)
# 使用的bs4的語法來獲取對象
button = browser.find_elements_by_css_selector('#su')
print(button)
button = browser.find_element_by_link_text('直播')
print(button)
2、新版本使用
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
# driver=webdriver.Chrome(executable_path='chromeselenium/chromedriver')
# 改為
service = Service(executable_path='chromedriver')
driver = webdriver.Chrome(service=service)
# inputTag = driver.find_element_by_id("value") # 利用ID查找
# 改為:
inputTag = driver.find_element(By.ID, "value")
# inputTags = driver.find_element_by_class_name("value") # 利用類名查找
# 改為:
inputTag = driver.find_element(By.CLASS_NAME, "value")
# inputTag = driver.find_element_by_name("value") # 利用name屬性查找
# 改為:
inputTag = driver.find_element(By.NAME, "value")
# inputTag = driver.find_element_by_tag_name("value") # 利用標(biāo)簽名查找
# 改為:
inputTag = driver.find_element(By.TAG_NAME, "value")
# inputTag = driver.find_element_by_xpath("value") # 利用xpath查找
# 改為:
inputTag = driver.find_element(By.XPATH, "value")
# inputTag = driver.find_element_by_css_selector("value") # 利用CSS選擇器查找
# 改為:
inputTag = driver.find_element(By.CSS_SELECTOR, "value")
四、交互案例
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
# 創(chuàng)建瀏覽器對象
path = 'chromedriver.exe'
service = Service(executable_path=path)
browser = webdriver.Chrome(service=service)
# url
url = 'https://www.baidu.com'
browser.get(url)
import time
time.sleep(2)
# 獲取文本框的對象
# input = browser.find_element_by_id('kw')
input = browser.find_element(By.ID, 'kw')
# 在文本框中輸入周杰倫
input.send_keys('周杰倫')
time.sleep(2)
# 獲取百度一下的按鈕
# button = browser.find_element_by_id('su')
button = browser.find_element(By.ID, 'su')
# 點擊按鈕
button.click()
time.sleep(2)
# 滑到底部
js_bottom = 'document.documentElement.scrollTop=100000'
browser.execute_script(js_bottom)
time.sleep(2)
# 獲取下一頁的按鈕
# next = browser.find_element_by_xpath('//a[@class="n"]')
next = browser.find_element(By.XPATH, '//a[@class="n"]')
# 點擊下一頁
next.click()
time.sleep(2)
# 回到上一頁
browser.back()
time.sleep(2)
# 回去
browser.forward()
time.sleep(3)
# 退出
browser.quit()
到了這里,關(guān)于python爬蟲-Selenium的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!