本人在學習使用selenium2java的過程當中,忽然想把知乎首頁的推薦內容放到本地或者把一個問題的優秀回答整理一下。能夠知乎登陸時那個選中倒立的漢字的驗證碼不勝其煩,後來想到用第三方登陸繞過了知乎賬號登陸。試了一下,感受效果很不錯,分享一下,供你們參考。html
driver.get("https://www.zhihu.com/"); findElementByTextAndClick(driver, "登陸");//點擊知乎登陸 findElementByXpathAndClick(driver, "html/body/div[1]/div/div[2]/div[2]/form/div[4]/span");//點擊第三方賬號登陸 String homehandle = driver.getWindowHandle();//獲取當前handle findElementByClassNameAndClick(driver, "sprite-index-icon-qq");//點擊QQ登陸 Set<String> handles = driver.getWindowHandles();//獲取當前所有handle for(String handle : handles){//遍歷獲取新窗口handle if (handle.equals(homehandle) == false){ driver.switchTo().window(handle);//跳轉新頁面 driver.manage().window().maximize();//最大化 } } driver.switchTo().frame("ptlogin_iframe");//切入頁面iframe findElementByIdAndClick(driver, "img_out_1009329307");//選擇本身QQ登陸 for(String handle : handles){//回到知乎頁面 if (handle.equals(homehandle) == true){ driver.switchTo().window(handle);//回到知乎 driver.manage().window().maximize();//最大化 } }
比較簡單,中間有個iframe,沒其餘難點了。java