本人在使用圖靈機器人的過程當中,須要豐富一下機器人知識庫裏面的笑話、段子等內容,就得去網上爬一些內容下來,通過嘗試終於成功了,效果通常般,主要緣由是添加的知識條目審覈不經過,還有就是爬蟲次數限制,暫時放棄了,之後打算用接口作爬蟲,selenium爬起來很容易出錯,瀏覽器加載太慢了,一旦次數太多很耗時。分享一下代碼,供你們參考。html
package wepractice; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; import selenium.Library; import selenium.Excel; public class NeiHanjokes extends Library{ public static void main(String[] args) { Library library = new Library(); List<String[]> sheet = new ArrayList<String[]>();//新建list,用於存放每一個測試用例的測試結果 Map<Integer, List<String[]>> dateJoke = new HashMap<Integer, List<String[]>>(); driver.get("http://neihanshequ.com/"); String home = driver.getWindowHandle(); library.findElementByXpathAndClick(".//*[@id='detail-list']/li[1]/div/div[2]/a/div/h1/p"); Set<String> handles = driver.getWindowHandles(); for(String handle : handles){ if (!handle.equals(home)) { driver.switchTo().window(handle); } } for (int i = 0; i < 15; i++) { library.output(i); String joke = library.getTextByXpath("html/body/div[3]/div[1]/div/ul/li[1]/div/div[2]/a/div/h1/p"); String[] jokes = new String[1]; jokes[0] = joke; sheet.add(jokes); library.findElementByIdAndClick("prevGroupLink"); } dateJoke.put(1, sheet); Excel excel = new Excel(); excel.writeXlsx(dateJoke); driver.close();//關閉窗口 for(String handle : handles){//切換窗口 if (handle.equals(home)) { driver.switchTo().window(handle); } } driver.quit();//退出瀏覽器 } }