Блок автоматизации Selenium в Yahoo Trending теперь не создает исключений для таких элементов - PullRequest
0 голосов
/ 04 июля 2018

Я пытаюсь найти количество ссылок и распечатать элементы ссылок из блока «Тенденции сейчас» на веб-странице Yahoo. Следующий код генерирует исключение «такой элемент не найден». Я использую XPath в коде ниже. Я попробовал cssSelector также. Кто-нибудь может помочь мне с xpath или cssSelector. Спасибо.

package com.practice.one;

import java.util.List;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class LinksYahoo {

public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", 
"/Users/owner/desktop/chromedriver");

WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://www.yahoo.com");
List<WebElement> yahooLinks= driver.findElements(By.tagName("a"));
System.out.println(yahooLinks.size());
   /*   
    for(int i=0;i<yahooLinks.size();i++) {
        yahooLinks.get(i).getText();
    }
    */


 WebElementrightsideLinks=driver.findElement(By.xpath("//ul[@class='M(0) 
 Mstart(-8px) ua-ie8_W(100%) ua-ie7_W(100%) blur_V(h) blur_Op(0) 
selected_Op(1) Trs($trendTrs)'/li]"));

List<WebElement>right_Links=rightsideLinks.findElements
(By.tagName("a"));
System.out.println(right_Links.size());
for (int i=0;i<right_Links.size();i++) {
right_Links.get(i).getText();

}
}

}

1 Ответ

0 голосов
/ 05 июля 2018

Используя приведенный ниже код, вы можете получить весь новый текст:

System.setProperty("webdriver.chrome.driver", /Users/owner/desktop/chromedriver");

WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.get("http://www.yahoo.com");
List<WebElement> yahooLinks= driver.findElements(By.tagName("a"));
System.out.println(yahooLinks.size());
/*   
            for(int i=0;i<yahooLinks.size();i++) {
                yahooLinks.get(i).getText();
            }
 */


List<WebElement>right_Links = driver.findElements(By.xpath("//li[@class='trending-list selected']/ul/li/a/span/following-sibling::span"));
        System.out.println(right_Links.size());
        for (int i=0;i<right_Links.size();i++) {
            System.out.println(right_Links.get(i).getText());
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...