如何在Selenium Webdriver中获取元素的Text / result

时间:2017-07-14 11:09:16

标签: selenium-webdriver

  1. 访问www.viscosity.com,然后鼠标悬停至资源,点击粘度计算器
  2. 在第一个文本框中输入数值(点按即可输入)
  3. 从列表中选择任何值。
  4. 现在将结果显示在第二个文本框中
  5. 我想打印结果,但gettext()代码什么都不打印。

2 个答案:

答案 0 :(得分:1)

这就是您要找的内容: -

global

放置所有组件/元素的灰色背景是iFrame。首先,您需要切换到iframe,然后驱动程序将看到所有元素。

而不是getText()使用

public class Demo {

public static void main(String[] args) throws InterruptedException {

    System.setProperty("webdriver.gecko.driver", "D:/geckodriver.exe");
    WebDriver driver = new FirefoxDriver();
    driver.manage().window().maximize();
    driver.get("https://www.viscosity.com/viscosity-calculator");
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    driver.switchTo().frame(0);
    driver.findElement(By.xpath("//*[@id='txtFrom']")).sendKeys("50");
    driver.findElement(By.xpath("//*[@id='ddlFrom']/option[3]")).click();
    String cp = driver.findElement(By.xpath("//*[@id='txtCp']")).getAttribute("value");
    System.out.println(cp);
    driver.quit();
}
}

尝试使用此代码,如果适用于您,请告诉我

答案 1 :(得分:0)

@Test  public void menu()抛出InterruptedException {

 WebElement Resource = driver.findElement(By.xpath("//div/div/span/div/ul/li[4]/a[1]"));
     Actions action = new Actions(driver);
     action.moveToElement(Resource).build().perform();

     driver.findElement(By.xpath(".//*[@id='hs_menu_wrapper_wizard_module_1059844378723389909774124948746072210']/ul/li[4]/ul/li[7]/a")).click();
     Thread.sleep(1000);

     WebElement element = driver.findElement(By.xpath("//div[1]/div/div/div/div/div/div/div[@class='cell-wrapper layout-widget-wrapper']/span/h1"));
     Thread.sleep(1000);
     ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true)", element);

   driver.switchTo().frame(0);

  WebElement Dynamic_Textbox = driver.findElement(By.xpath("//div/center/div/div/div[1]/div[1]/div[@class='input-class']"));
  Actions actions = new Actions(driver);
  actions.moveToElement(Dynamic_Textbox);
  actions.click();
  double Textvalue=6;
  actions.sendKeys(String.valueOf(Textvalue));
  actions.build().perform();
  System.out.println("Enter successfully");

   Select List_Value= new Select (driver.findElement(By.id("ddlFrom")));
   List_Value.selectByVisibleText("AFNOR Cup #4");

   if (List_Value.getFirstSelectedOption().getText().equals("AFNOR Cup #4"))
   {
       double cp= ( 4.8745*Textvalue  - 46.668);
       System.out.println("Expected Result value="+cp);
       String Cp_value=driver.findElement(By.id("txtCp")).getAttribute("value");
       System.out.println("Actual Result Value="+ Cp_value);   
   }}}
相关问题