您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
用selenium模擬瀏覽器點(diǎn)擊事件
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2017/4/25 16:18:06 ] 推薦標(biāo)簽:功能測試工具 Selenium

  selenium提供了css選擇器和xpath甚至還有by tag_name、by attribute之類的方法,很方便,在此之前我的都是xpath,但是看到這些方法,我還是果斷放棄了xpath......
  坑
  等等,你以為這樣的代碼在osx下測試的好好的,放到Linux下能跑了?
  拿Debian舉例:
  sinux@Sinux-Universe:~$ cat /etc/issue
  Debian GNU/Linux 8 l
  首先你的服務(wù)器需要一個(gè)瀏覽器,下載一個(gè)Chromium吧:
  sudo apt-get install chromium
  好了,現(xiàn)在有了Chrome了。
  但是絕大多數(shù)Linux服務(wù)器沒有圖形化界面,所以你還需要模擬出一個(gè)展示 WebDriver 的地方。
  這里使用 PyVirtualDisplay 。
  在使用driver之前,先開啟一個(gè)演示界面
  from pyvirtualdisplay import Display
  display = Display(visible=0, size=(800, 800))
  display.start()
  你發(fā)現(xiàn)仍然報(bào)錯(cuò),因?yàn)镃hromedriver的很多版本(2.20,2.19,2.15都是不行的)和selenium是存在沖突的,所以你還需要找到一個(gè)specific版本,它是chromedriver for linux 64 2.10。
  不要想著在64位的服務(wù)器下使用32位的東西了,它們只會(huì)增加出錯(cuò)誤的幾率。
  到現(xiàn)在,這個(gè)爬蟲才可以跑起來,但是效果不是很理想,可能是因?yàn)榧嫒菪灾惖膯栴},在服務(wù)器下表現(xiàn)遠(yuǎn)沒有開發(fā)環(huán)境下順暢,錯(cuò)誤頻出。
  ----------正文結(jié)束-----------
  但是我們還是有辦法的不是嗎,比如寫一個(gè)?炸天的守護(hù)進(jìn)程,來保證即便出錯(cuò)了,我們的爬蟲仍然可以堅(jiān)挺的不斷的爬:
  # i am the best deamon
  while true ; do
  pkill chromedriver
  python spider.py
  done
  好了,總結(jié)一下是如果你恰好遇到了需要爬的內(nèi)容,那么模擬一些JS事件、發(fā)送請求是一個(gè)比較煩人的問題,但是相比需要在保證效率的前提下需要不斷換代理來應(yīng)對反爬蟲策略之類的問題來說,還算是一個(gè)一勞永逸的事。

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd