尝试自动化xe.com货币转换

时间:2019-07-03 15:35:42

标签: java selenium selenium-webdriver

我正在尝试使用扫描仪类输入值来自动化xe.com。 我可以输入金额,下一步是选择货币。我被困在这里。

请参阅以下代码段尝试的内容。如何实现选择货币?

//input value to convert
    Scanner sc=new Scanner(System.in);      
    System.out.println("Please enter value to convert:");
    String n=sc.nextLine();

    //What currency do you have?
    System.out.println("What currency do you have?:");
    Scanner sc1=new Scanner(System.in);
    String myCurrency=sc.nextLine();

    //enter given value by user in converter field
    driver.findElement(By.xpath("//input[@id='amount']")).sendKeys(n);

    //select my currency
    Select myList= new Select(driver.findElement(By.className("css-10nd86iconverterform-dropdown")));
    List<WebElement> options=myList.getOptions();

    //to read each value from dropdown
            for(WebElement option: options) {
                if(option.getText().trim().equalsIgnoreCase(myCurrency)) {
                break;
                }
            }

1 个答案:

答案 0 :(得分:-1)

我刚刚检查了站点,并且下拉列表中没有选择标记,您提到的类名称是指div标记,这就是为什么它不起作用的原因。相反,您可以使用sendkeys输入XPath为//*[@id="from"]

的标签
driver.FindElement(By.XPath("//*[@id=\"from\"]")).SendKeys("CAD"); //replace "CAD" with desired currency code

我希望该帮助无法正常工作

针对“收件人”进行了编辑

如果在检查元素区域中看到红色突出显示的区域,它将显示id,它是唯一的,可用于标识“到”元素​​的输入。因此对于“ To”,将如下所示

driver.FindElement(By.XPath("//*[@id=\"to\"]")).SendKeys("USD");

TO

如果不使用以下绝对值,即/html/body/div/div[2]/div[2]/main/div/div/div[1]/div[1]/div/div[1]/div/div/div/form/div[3]/div/div/div[1]/div[2]/div/input

,它显然应该可以工作