python模拟点击网页按钮_网页自动化开发(第一章)
了解Selenium
selenium是一個用于網(wǎng)絡應用程序自動化的工具。它可以直接運行在瀏覽器中,就像真正的用戶在操作一樣。它支持的版本主要有Google ghrome、IE、Mozillz Firefox、Safari、Opera等,同時支持多種語言編寫,主要有java,Python、net、Ruby等。從Selenium誕生有多個版本,從1.0、2.0、3.0等版本。Selenium 1.0?,主要是Selenium IDE、Selenium Grid,Selenium RC組成,Selenium IDE是嵌入到瀏覽器的一個插件,由于實現(xiàn)簡單的瀏覽器操作錄制和回放功能;Selenium Grid是一種自動化的輔助工具。通過利用現(xiàn)有計算的基礎設施。能加快自動化腳本,通過Selenium RC服務器作為代理去訪問網(wǎng)站應用。從而達到自動化目的。
Selenium 2.0?版本結合了WebDirver,Selenium通過WebDriver直接操作網(wǎng)站應用,解決Selenum 1.0存在的缺點,WebDriver針對各個瀏覽器而開發(fā),取代了網(wǎng)站應用的JavaScript,目前大多數(shù)大廠都是使用selenium2.0為主。
Selenium3.0?有不小的更新。
安裝Python3.X
Python主要分為2大版本:Python2X和Python3X,Python核心團隊集合2020停止Python2.X支持,本文用最新版本python3.9.0版本
下載地址為:https://www.python.org/downloads/release/python-390/
雙擊安裝包
查看安裝版本
安裝Pycharm
下載地址:http://www.jetbrains.com/pycharm/download
安裝Selenium
由于Selenium使用支持多種瀏覽器,本文主要用Google Ghrome作為講述對象,搭建Selenium開發(fā)和安裝Selenium并且配置Google Ghrome WebDriver 安裝Selenium庫通過pip,具體的安裝指令為:
?pip install selenium
如果碰到time out 請多試幾次
安裝成功提示
pip install seleniumCollecting selenium Downloading selenium-3.141.0-py2.py3-none-any.whl (904 kB) |████████████████████████████████| 904 kB 4.0 kB/s Collecting urllib3 Downloading urllib3-1.26.2-py2.py3-none-any.whl (136 kB) |████████████████████████████████| 136 kB 3.6 kB/s Installing collected packages: urllib3, seleniumSuccessfully installed selenium-3.141.0 urllib3-1.26.2查看版本
pip listPackage Version---------- -------pip 20.3.1selenium 3.141.0setuptools 49.2.1urllib3 1.26.2或者下面這種查看,已經(jīng)安裝成功
pythonPython 3.9.0 (v3.9.0:9cf6752276, Oct 5 2020, 11:29:23) [Clang 6.0 (clang-600.0.57)] on darwinType "help", "copyright", "credits" or "license" for more information.>>> import selenium>>> selenium.__version__'3.141.0'還要安裝Google Ghrome瀏覽器WebDriver,首先需要查看Google?Ghrome的當前版本,Google Ghrome?—>help-->about google?Chrome(G)
WebDriver?和WebDriver的版本對應
http://npm.taobao.org/mirrors/chromedriver/
下載版本GhromeDriver查看版本
./chromedriver -versionChromeDriver 87.0.4280.88 (89e2380a3e36c3464b5dd1302349b1382549290d-refs/branch-heads/4280@{#1761})開始編寫代碼
#導入Selenium webdriver庫from selenium import webdriver#設置變量uriurl="http://www.baidu.com"#設置exeutable_path chromedriverpath="./chromedriver"brower=webdriver.Chrome(executable_path=path)#打開瀏覽器百度入口brower.get(url)運行后彈出chromedriver的窗口,圖片如下
或者是
如果想用Ie后者FireFox瀏覽器代碼稍微修改一下
#firebox瀏覽器和ie瀏覽器brower=webdriver.Ie(executable_path=path)brower.get(url)brower=webdriver.firefox(executable_path=path)brower.get(url)瀏覽器查找元素
上面的例子已經(jīng)搭建了基本的Selenium+chromedriver的開發(fā)環(huán)境,現(xiàn)在需要進行瀏覽器的查看網(wǎng)頁元素,因為selenium是通過程序來自動操作瀏覽器網(wǎng)頁頁面的控件元素,如頁面的點擊按鈕,輸入文本框,單選按鈕,url鏈接等,需要通過頁面獲取到selnium精準的目標元素定位,告訴selenium代碼程序操作頁面的具體元素。Ghrome頁面是通過快捷鍵F12,打開Ghrome開發(fā)者模式,如下圖圖2 網(wǎng)頁信息
圖2的開發(fā)者模式有9個標簽,分別為Element、Console、Sources、Network、Performance、Menory、Application、Security、Audits。開發(fā)者模式為Web開發(fā)調試為主,如果只是獲取頁面元素信息,通過Element標簽頁即可。通過下面圖片,點擊,定位到百度的輸入”?...“的輸入框我們來修改一下輸入框的內容,代碼如下
#導入Selenium webdriver庫from selenium import webdriver#設置變量uriurl="http://www.baidu.com"#設置exeutable_path chromedriverdriver=webdriver.Chrome(executable_path="./chromedriver");#打開瀏覽器百度入口driver.get(url)#百度輸入框的xpath的地址xpath=driver.find_element_by_xpath("//*[@id=\"kw\"]")xpath.send_keys("selenium")#submit的百度一下sumbit=driver.find_element_by_xpath("//*[@id=\"su\"]")sumbit.submit()運行效果為
總結
以上是生活随笔為你收集整理的python模拟点击网页按钮_网页自动化开发(第一章)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 转使用Moq让单元测试变得更简单
- 下一篇: C#创建简单的验证码