Chrome - WebDriver 找不到 Instagram 登录页面的登录
按钮。我已经尝试了 3 种方式(请参阅下面的代码),但在所有方式中,按钮都没有被点击。非常感谢任何帮助!
代码:
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中犯了一个小错误,您使用了小写字母的Log in
中的i
,但是在页面上,该单词是驼峰式的,所以您需要使用登录
或者
您可以使用以下 xpath 作为登录
按钮:
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[text()='Log In']")));
关于java - ChromeDriver 找不到要单击的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55459337/