程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python網頁信息操作——webdriver

編輯:Python

系統環境:Ubuntu20.04

一、selenium和webdriver

1. 什麼是selenium?

selenium 是一個用於Web應用程序測試的工具。Selenium測試直接運行在浏覽器中,就像真正的用戶在操作一樣。支持的浏覽器包括IE(7~11)、Mozilla Firefox、Safari、Google Chrome、Opera、Edge等。這個工具的主要功能包括:測試與浏覽器的兼容性——測試你的應用程序看是否能夠很好得工作在不同浏覽器和操作系統之上。測試系統功能——創建回歸測試檢驗軟件功能和用戶需求。支持自動錄制動作和自動生成 .Net、Java、Perl等不同語言的測試腳本。

selenium安裝指令:

sudo pip3 install selenium 

2. 浏覽器及其對應driver安裝

以google-chrome與chromedriver為例。

首先,查詢google-chome版本。

google-chrome --version

然後,在下面地址上找到版本最接近(否則無法使用)的chromedriver下載解壓。

CNPM Binaries Mirrorhttp://npm.taobao.org/mirrors/chromedriver/接著,在chromedriver解壓路徑下打開terminal,執行一下指令替換掉系統的chromedriver。

sudo mv -f chromedriver /usr/local/share/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver
chromedriver --version

二、代碼樣例

import os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
url = 'https://blog.csdn.net/qq_15711195?spm=1018.2226.3001.5343'
option = webdriver.ChromeOptions()
option.add_experimental_option('detach', True)
browser = webdriver.Chrome(options=option)
browser.get(url)
#修改name參數值
new_name = 'haha'
name = browser.find_element_by_id('name')
name.clear()
name.send_keys(new_name)
#勾選flag-checkbox選框。後續修改若在此基礎上進行,須等待一點時間
flag_checkbox = browser.find_element_by_id('flag-checkbox')
if not flag_checkbox.is_selected():
flag_checkbox.click()
sleep(1)
#點擊保存按鈕。當button上有裹了一層div時,最好用xpath語句的形式定位按鈕
button_path = "//div[@class='btn-submit']/button[@type='button']"
save_button = browser.find_element_by_xpath(button_path)
save_button.send_keys(Keys.ENTER)
# 執行點擊操作時,也可以用下面這種方式。當網頁信息丟失時可能會卡住。
# browser.execute_script('arguments[0].click()', save_button)
# 可以直接quit。當手動關閉網頁在close之前時,會導致close報錯。
browser.close()
browser.quit()

參考文獻

【1】什麼是Selenium WebDriver_簡單快樂_wsh的博客

【2】Selenium WebDriver基礎操作教程_bizcatt的博客(含driver下載)

【3】如何在Ubuntu下安裝配置Selienium與chrome webdriver_nice970111的博客


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved