2014-05-21 35 views
-3

任務是按下按鈕,在https://play.google.com/store/apps/category/FINANCE/collection/topselling_paidwebdriver的按鍵谷歌玩

「更多」 這是截圖 http://c2n.me/i9LC1O

我的代碼是:

String url = "https://play.google.com/store/apps/category/FINANCE/collection/topselling_paid"; 
WebDriver driver = new HtmlUnitDriver(); 
driver.manage().timeouts().implicitlyWait(100000, TimeUnit.SECONDS); 
     driver.get(url); 
//Collects ONLY first 60 link. `enter code here`But I need more.... 
     ArrayList<WebElement> linksToApp = (ArrayList<WebElement>) driver 
       .findElements((By.className("title"))); 
     ArrayList<String> urlToApp = new ArrayList<String>(); 

請幫助我。

+0

id屬性對我來說按鈕被隱藏。因此點擊它不會取得任何成效。當我向下滾動頁面時,「顯示更多」是自動完成的,因此我不知道你想要實現什麼,因爲這不是頁面顯示的內容。 – Arran

+0

你沒有看到按鈕「更多」。我對嗎? – user3661720

+0

是的。從我的調查中看不到,當您使用AJAX請求向下滾動時,頁面自動獲得「更多」結果。 – Arran

回答

0

你需要做這樣的事情

driver.findElement(By.id("id-of-show_more-button")).click(); 

你可以找到BYT在元件上右擊元素ID,點擊檢查元素,然後檢查在HTML

+0

我試過去做 driver.findElement(By.xpath(「// * [@ id =''顯示-更多按鈕']「))點擊(); 但沒有發生。請告訴我,whai是個問題。 – user3661720

+0

嘗試使用ID,因爲它總是更穩定:在你的情況下,它會是driver.findElement(By.id(「show-more-button」))。click();您正在使用HTML單元驅動程序,因此屏幕上不會顯示任何內容。你應該只關心日誌。而且在旁註中,我已經看到HTMLUnitDriver本身並不十分穩定。 – ucsunil

+0

我試圖像你說的那樣做。但它不起作用。 僅收集第一個60鏈接。但我需要更多.... – user3661720