私信  •  关注

Muhammad Farooq

Muhammad Farooq 最近创建的主题
Muhammad Farooq 最近回复了
3 年前
回复了 Muhammad Farooq 创建的主题 » 如何使用selenium python在oddsportal中使用日期查找链接

以下是解决方案 JAVA


        WebDriverManager.chromedriver().setup();
        WebDriver driver = new ChromeDriver();
        WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(100));
        driver.manage().timeouts().pageLoadTimeout(Duration.ofSeconds(50));
        driver.get("https://www.oddsportal.com/soccer/italy/serie-a/results/");
        driver.manage().window().maximize();

        List<WebElement> dates = driver.findElements(By.cssSelector("tr[class='center nob-border']"));
        List<WebElement> siblings;

        for (WebElement element: dates) {
            if ((element.findElement(By.cssSelector("th > span"))).getText().equalsIgnoreCase(userDate)){
                siblings=element.findElements(By.xpath("following-sibling::tr"));
                for (int i=1; i< siblings.size() ; i++ ){
                    try {
                        WebElement item = siblings.get(i).findElement(By.cssSelector("td[class='name table-participant'] > a"));
                        if (!(item.isDisplayed())) {
                            break;
                        } else
                            System.out.println(" " + item.getText());
                    }
                    catch (Exception e){
                        e.printStackTrace();
                        break;
                    }
                }
                break;
            }
        }

解决方案: 首先找到日期,然后迭代到下一个日期。

你可以使用:

对于h2:

libra_content = driver.find_element_by_css_selector("div[class='horoscope-content'] > h2 ")

对于p:

libra_content = driver.find_element_by_css_selector("div[class='horoscope-content'] > p ")