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);
你在xpath中犯了一个小错误,你在小写字母中使用了i
的Log in
,但是在页面上,这个单词是在驼峰的情况下,所以你需要使用Log In
要么
您可以使用以下xpath作为Login
按钮:
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[text()='Log In']")));