ChromeDriver找不到要点击的元素

问题描述 投票:0回答:1

Chrome - WebDriver找不到Instagram登录页面的log in按钮。我已经尝试了3ways(请参阅下面的代码),并且无论如何都不会点击该按钮。任何帮助都非常感谢!

码:

    System.setProperty("webdriver.chrome.driver","F:\\scraper - by 
    Url\\chromedriver.exe");

    ChromeDriver driver = new ChromeDriver();


    driver.get("https://www.instagram.com/accounts/login/?hl=en");
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    driver.findElement(By.name("username")).sendKeys("username");
    driver.findElement(By.name("password")).sendKeys("testtest");

    //driver.findElements(By.tagName("button")).get(1).click();

    WebDriverWait wait = new WebDriverWait(driver, 10);

    WebElement button = 

wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//button[.='Log in']")));
    button.click();

    //driver.findElement(By.xpath("//button[.='Log in']")).click();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
java webdriver instagram
1个回答
2
投票

你在xpath中犯了一个小错误,你在小写字母中使用了iLog in,但是在页面上,这个单词是在驼峰的情况下,所以你需要使用Log In

要么

您可以使用以下xpath作为Login按钮:

wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[text()='Log In']")));
© www.soinside.com 2019 - 2024. All rights reserved.