51Testing软件测试论坛

标题: 怎么获取selenium中的值? [打印本页]

作者: loveyou99    时间: 2016-1-11 23:38
标题: 怎么获取selenium中的值?
本帖最后由 loveyou99 于 2016-1-11 23:40 编辑

各路大神,在下遇到一个问题:selenium无法获取到input里面的值。发现一个网站也有也和我们项目类似。如下脚本,想获取这个订飞机票网站中的出发站输入框中的值,没有办法


import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class Demo2 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
               
                WebDriver driver = new FirefoxDriver();
                driver.get("http://flight.qunaer.com/");
                driver.findElement(By.id("from1")).sendKeys("合肥");
                driver.findElement(By.id("from1")).click();
                driver.findElement(By.cssSelector("#cityWrap > div.citiesbox-bd > div.city-panel.default > div > div.c-item.hot > ul > li:nth-child(1) > a")).click();
                //getText 没有获取到input里面的值
                String abc = driver.findElement(By.id("from1")).getText();
                System.out.println("aaa:"+abc);
               
                 JavascriptExecutor js = (JavascriptExecutor) driver;
                 // 执行js $("#from1").val() 也没有获取到输入框中的值,但是如果在浏览器中运行,能获取到输入框的值
                 abc = (String) js.executeScript("$(\"#from1\").val()");
                System.out.println("aaa:"+abc);  
               
        }

}


在这个脚本中,用谷歌浏览器console中执行jquery $("#from1").val()  能 获取到“出发城市”输入框中的值,就是selenium无法获取,求教各位大神指点,最好能用jquery方式获取
谢谢!


作者: 清晨一缕阳光    时间: 2016-1-12 16:04
把你的代码中的  String abc = driver.findElement(By.id("from1")).getText(); 改为  String abc = driver.findElement(By.id("from1")).getAttribute("value");
作者: loveyou99    时间: 2016-1-13 22:13
清晨一缕阳光 发表于 2016-1-12 16:04
把你的代码中的  String abc = driver.findElement(By.id("from1")).getText(); 改为  String abc = driver ...

不错,可以了,高!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2