51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1615|回复: 2
打印 上一主题 下一主题

怎么获取selenium中的值?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-1-11 23:38:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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方式获取
谢谢!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2024-5-16 12:02
  • 签到天数: 1181 天

    连续签到: 1 天

    [LV.10]测试总司令

    2#
    发表于 2016-1-12 16:04:47 | 只看该作者
    把你的代码中的  String abc = driver.findElement(By.id("from1")).getText(); 改为  String abc = driver.findElement(By.id("from1")).getAttribute("value");

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 恭喜您获得了测试积点10

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2016-1-13 22:13:27 | 只看该作者
    清晨一缕阳光 发表于 2016-1-12 16:04
    把你的代码中的  String abc = driver.findElement(By.id("from1")).getText(); 改为  String abc = driver ...

    不错,可以了,高!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-20 05:49 , Processed in 0.066466 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表