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

  selenium提供了css選擇器和xpath甚至還有by tag_name、by attribute之類的方法,很方便,在此之前我的都是xpath,但是看到這些方法,我還是果斷放棄了xpath......
  坑
  等等,你以為這樣的代碼在osx下測(cè)試的好好的,放到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ù)器沒(méi)有圖形化界面,所以你還需要模擬出一個(gè)展示 WebDriver 的地方。
  這里使用 PyVirtualDisplay 。
  在使用driver之前,先開(kāi)啟一個(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è)爬蟲(chóng)才可以跑起來(lái),但是效果不是很理想,可能是因?yàn)榧嫒菪灾惖膯?wèn)題,在服務(wù)器下表現(xiàn)遠(yuǎn)沒(méi)有開(kāi)發(fā)環(huán)境下順暢,錯(cuò)誤頻出。
  ----------正文結(jié)束-----------
  但是我們還是有辦法的不是嗎,比如寫(xiě)一個(gè)?炸天的守護(hù)進(jìn)程,來(lái)保證即便出錯(cuò)了,我們的爬蟲(chóng)仍然可以堅(jiān)挺的不斷的爬:
  # i am the best deamon
  while true ; do
  pkill chromedriver
  python spider.py
  done
  好了,總結(jié)一下是如果你恰好遇到了需要爬的內(nèi)容,那么模擬一些JS事件、發(fā)送請(qǐng)求是一個(gè)比較煩人的問(wèn)題,但是相比需要在保證效率的前提下需要不斷換代理來(lái)應(yīng)對(duì)反爬蟲(chóng)策略之類的問(wèn)題來(lái)說(shuō),還算是一個(gè)一勞永逸的事。

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