puppeteer(四)常見問題——部分元素沒法操做,代碼沒任何問題。

前言

最近寫了一個小例子,可是一個page.click不管如何也不能正常操做,語法這麼簡單不可能有錯。因而找緣由,瀏覽器的問題嗎?各類開發環境切換,nodejs版本換到較老的版本,npm版本切換,最後定位在換各類版本瀏覽器,發如今chrome74上正常72版本正常,在70上不能夠,覺得是瀏覽器的BUG,原本要放棄的。而後想是否是puppeteer版本的問題,去github切換到較老的一個分支上,發現與npm自動安裝的是不一樣的文件,最後找到解決辦法以下:css

找到對應瀏覽器版本的pup....進行安裝

npmjs官方地址:https://www.npmjs.com/package/puppeteernode

說明:在npm中安裝固定的版本號package,只須要在其後加 ‘@版本號’,下官網70chrome對應的是1.7.0則,執行以下命令。git

npm install --save puppeteer@1.7.0

 

-------------------------github

npm命令解釋

npm install moduleName # 安裝模塊到項目目錄下

npm install -g moduleName # -g 的意思是將模塊安裝到全局,具體安裝到磁盤哪一個位置,要看 npm config prefix 的位置。

npm install -save moduleName # -save 的意思是將模塊安裝到項目目錄下,並在package文件的dependencies節點寫入依賴。

npm install -save-dev moduleName # -save-dev 的意思是將模塊安裝到項目目錄下,並在package文件的devDependencies節點寫入依賴。

 

那麼問題來了,在項目中咱們應該使用四個命令中的哪一個呢?這個就要視狀況而定了。下面對這四個命令進行對比,看完後你就再也不這麼問了。chrome

npm install moduleName 命令

1. 安裝模塊到項目node_modules目錄下。
2. 不會將模塊依賴寫入devDependencies或dependencies 節點。
3. 運行 npm install 初始化項目時不會下載模塊。express

npm install -g moduleName 命令

1. 安裝模塊到全局,不會在項目node_modules目錄中保存模塊包。
2. 不會將模塊依賴寫入devDependencies或dependencies 節點。
3. 運行 npm install 初始化項目時不會下載模塊。npm

npm install -save moduleName 命令

1. 安裝模塊到項目node_modules目錄下。
2. 會將模塊依賴寫入dependencies 節點。
3. 運行 npm install 初始化項目時,會將模塊下載到項目目錄下。
4. 運行npm install --production或者註明NODE_ENV變量值爲production時,自動下載模塊到node_modules目錄中。gulp

npm install -save-dev moduleName 命令

1. 安裝模塊到項目node_modules目錄下。
2. 會將模塊依賴寫入devDependencies 節點。
3. 運行 npm install 初始化項目時,會將模塊下載到項目目錄下。
4. 運行npm install --production或者註明NODE_ENV變量值爲production時,不會自動下載模塊到node_modules目錄中。瀏覽器

總結

devDependencies 節點下的模塊是咱們在開發時須要用的,好比項目中使用的 gulp ,壓縮css、js的模塊。這些模塊在咱們的項目部署後是不須要的,因此咱們可使用 -save-dev 的形式安裝。像 express 這些模塊是項目運行必備的,應該安裝在 dependencies 節點下,因此咱們應該使用 -save 的形式安裝。spa

相關文章
相關標籤/搜索