首页 > 解决方案 > Indiatimes 网站的标题打印失败

问题描述

我正在尝试在网站“https://timesofindia.indiatimes.com/us”中打印标题“印度时报”,但它失败了..我认为问题是弹出通知要求输入.. .我试过警报,但这没有帮助......有人可以帮我修复下面的代码..

public static void main(String[] args) {
        // TODO Auto-generated method stub
    WebDriver driver = utils.HelperFunctions2.createAppropriateDriver("Chrome");
        
        driver.get("https://timesofindia.indiatimes.com/");
        System.out.println("****Main page loaded*****");
        WebDriverWait wait = new WebDriverWait(driver, 20);
        wait.until(ExpectedConditions.alertIsPresent());
        Alert alert = driver.switchTo().alert();
        alert.accept();
        String header = driver.findElement(By.xpath("//*[@id=\"header-masthead\"]/div/a/img")).getText();
        System.out.println(header);
    }

标签: seleniumselenium-webdriverjunit4browser-automation

解决方案


这是因为“印度时报”是图片,而不是纯文本!Webdriver 无法将图像解释为文本。

在这种情况下,您可以做的是检查属性 "src"

String titlePicture = driver.findElement(By.xpath("//*[@id=\"header-masthead\"]/div/a/img")).getAttribute("src");

应该等于https://static.toiimg.com/photo/77144633.cms——《印度时报》图片来源


推荐阅读