如何填充使用电子邮件部分铬司机
enter image description here如何填充使用电子邮件部分铬司机
你能帮我的邮箱输入的文本?当我点击顶部的masuk
按钮时,电子邮件框会出现,但我无法在电子邮件框中找到sendkeys
。
H | ERE是URL-www.tokopedia.com
这里是行不通
public static void main(String[] args) throws Exception {
System.setProperty("webdriver.chrome.driver", "E:\\Download\\chromedriver_win32\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("https://www.tokopedia.com/");
Thread.sleep(3000);
WebElement element = driver.findElement(By.id("login-ddl-link"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);
driver.findElement(By.id("login-ddl-link")).click();
driver.switchTo().frame("iframe-accounts");
WebElement myEmail = driver.findElement(By.id("inputEmail"));
myEmail.sendKeys("tes213");
WebElement myPassword = driver.findElement(By.id("inputPassword"));
myPassword.sendKeys("tes123");
}
这是因为授权表位于iframe
元素中的代码。您需要先切换到该帧,然后处理输入字段:
...
driver.findElement(By.id("login-ddl-link")).click();
Thread.sleep(2000);
driver.switchTo().frame("iframe-accounts");
WebElement myEmail = driver.findElement(By.id("inputEmail"));
myEmail.sendKeys("tes123");
...
要切换回您可能需要使用
driver.switchTo().defaultContent();
附:你不需要点击输入字段发送文本,所以driver.findElement(By.id("inputEmail")).click();
是多余的线
嗨那里你的代码就像双击ifram帐户,所以iframe关闭立即 –
你确定你不使用'驱动程序。 findElement(By.id(“login-ddl-link”))。click();'你的代码中有两次?你必须插入一行'driver.switchTo().frame(“iframe-accounts”);'到你的代码 – Andersson
是的,我没有把driver.findElement(By.id(“login-ddl-link”))。点击();两次 –
使用此代码它在Chrome上工作得很好。
public static void main(String [] ar) throws Exception {
System.setProperty("webdriver.chrome.driver", "E:\\Download\\chromedriver_win32\\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("https://www.tokopedia.com/");
Thread.sleep(3000);
WebElement element = driver.findElement(By.xpath("//*[@id='login-ddl-link']"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);
driver.switchTo().frame("iframe-accounts");
WebElement myEmail = driver.findElement(By.id("inputEmail"));
myEmail.sendKeys("tes213");
WebElement myPassword = driver.findElement(By.id("inputPassword"));
myPassword.sendKeys("tes123");
driver.findElement(By.xpath(".//*[@id='global_login_btn']")).click();
}
你是什么意思'不起作用?你的代码执行的结果是什么? – Andersson
它只点击masuk按钮,但不会点击电子邮件框,并不会填充它 –