ChromeDriver не находит элемент для нажатия - PullRequest
0 голосов
/ 01 апреля 2019

Chrome - WebDriver не находит кнопку log in на странице входа в Instagram.Я пробовал 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);

1 Ответ

2 голосов
/ 01 апреля 2019

Вы допустили небольшую ошибку в xpath, вы использовали i из Log in в маленькой букве, однако на странице слово указано в случае верблюда, поэтому вам нужно использовать Log In

Или

Вы можете использовать приведенный ниже xpath для кнопки Login:

wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[text()='Log In']")));
...