簡(jiǎn)介
Selenium is a browser automation library. Most often used for testing web-applications, Selenium may be used for any task that requires automating interaction with the browser.
Selenium是一個(gè)瀏覽器自動(dòng)化庫(kù),通常用于測(cè)試Web應(yīng)用程序,可用于任何需要自動(dòng)與瀏覽器交互的任務(wù)(來(lái)自百度翻譯)
使用方法 簡(jiǎn)單的 demo
先在桌面創(chuàng)建項(xiàng)目文件夾
cd Desktop
mkdir selenium-webdriver-demo
cd selenium-webdriver-demo
//初始化項(xiàng)目
npm init
//一直回車就可以了
通過(guò) npm 進(jìn)行安裝 selenium-webdriver
npm install selenium-webdriver
你可以通過(guò)包網(wǎng)址中提供的瀏覽器插件鏈接自行下載自己所需要的,這里我下載的是 Firefox
image.png
- 下載好了之后將壓縮包復(fù)制到自己的項(xiàng)目中,然后解壓到自己的項(xiàng)目文件夾中,之后將壓縮包刪掉(避免出現(xiàn)不可知為問(wèn)題),接下來(lái)就可以在項(xiàng)目中新建一個(gè) e2e.js 文件
編輯 e2e.js
const {Builder, By, Key, until} = require('selenium-webdriver');
let driver = new Builder()
.forBrowser('firefox')
.build();
//這里我的打開(kāi)網(wǎng)站以百度為例
driver.get('http://www.baidu.com');
//name -> wd 是百度頁(yè)面中 input 輸入域的 name 屬性的值
//xiaochuan -> 指的是輸入域填寫(xiě)的值
driver.findElement(By.name('wd')).sendKeys('小川', Key.RETURN);
//這個(gè) title 是在百度中輸入值搜素之后的頁(yè)面的 title 的值 如果是對(duì)的話 就會(huì)執(zhí)行下面的退出命令,不然是不會(huì)退出的
//后面的 3000 是執(zhí)行的時(shí)間如果覺(jué)得快的話可以適當(dāng)?shù)脑黾?driver.wait(until.titleIs('小川_百度搜索'), 3000);
//退出
driver.quit();
image.png
- 這個(gè)時(shí)候就可以在命令行中運(yùn)行 e2e.js 文件了,注意有個(gè)前提是你的電腦上必須安裝了 火狐瀏覽器,不然是會(huì)報(bào)錯(cuò)的
node e2e.js
接下來(lái)他便會(huì)自動(dòng)打開(kāi)電腦上的火狐瀏覽器 -> 打開(kāi) www.baidu.com -> 輸入 “小川” -> 進(jìn)行搜索 -> 搜索之后因?yàn)?title 是對(duì)應(yīng)的所以就會(huì)再自動(dòng)的關(guān)掉火狐瀏覽器
image.png


