获取用户输入的硒webderiver
问题描述:
我想从用户输入的按键(发送键)我应该如何实现呢?获取用户输入的硒webderiver
driver.findElement(By.xpath(".//*[@id='vehicleNum']")).sendKeys("1121");
答
作为演示,我为您提供的代码样本块与对于URL https://accounts.google.com
这将要求来自用户的输入提供Email or Phone
,然后点击按钮Next
:
使用
Scanner
您将在IDE控制台上获得用户提示,如Enter your Email or Phone :
。千万记得要通过scanner_user.close();
明确关闭扫描仪,以防止Resource Leakage
。
import java.util.Scanner;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class GMAIL_LOGIN_SCANNER
{
public static void main(String[] args)
{
Scanner scanner_user, scanner_pass;
System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("start-maximized");
options.addArguments("disable-infobars");
options.addArguments("--disable-extensions");
WebDriver driver = new ChromeDriver(options);
driver.get("https://accounts.google.com");
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
scanner_user = new Scanner(System.in);
System.out.println("Enter your Email or Phone : ");
String user = scanner_user.nextLine();
driver.findElement(By.xpath("//input[@id='identifierId']")).sendKeys(user);
driver.findElement(By.id("identifierNext")).click();
scanner_user.close();
}
}
+1
thz其工作 – GHOST
答
您可以使用内置Scanner类从系统控制台获取输入。下面的代码可能会给你一些想法。
Scanner sc = new Scanner(System.in);
String name = sc.nextLine();
//now pass name in sendkeys.
driver.findElement(By.xpath(".//*[@id='vehicleNum']")).sendKeys(name);
不然,如果你需要从webelement的一个获取文本,确定webelement和使用gettext()来获取字符串值。
String value = driver.findElement(by.xpath("//")).getText();
driver.findElement(By.xpath(".//*[@id='vehicleNum']")).sendKeys(value);
希望这会有所帮助。谢谢..
答
即使你的问题并不清楚正确,但因为我假设你需要下面的解决方案。 为了从文本框中输入值,可以使用下面的代码:
driver.findElement(By.xpath(".//*[@id='vehicleNum']")).sendKeys("1121");
String str = driver.findElement(By.xpath(".//*[@id='vehicleNum']")).getAttribute("value");
System.out.println(str);
程序输出将是“1121”
你想获得您发送邮件使用的SendKeys(值 “1121”)? –