51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2342|回复: 10
打印 上一主题 下一主题

求助,哪位大神帮看看,如何获取到单选按钮并选择其中一个?多谢~~

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-7-19 11:07:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
遇到一个问题,用xpath定位单选按钮选择,不知道为啥就一直定位到radio3,选择的都是第一个选择,不能定位到radio4。


g=driver.find_element_by_xpath("//label[@for='radio4']")g.find_element_by_xpath("//span[@class='check']").click()


<div class="md-radio-inline col-md-6">

<div class="md-radio">
<input id="radio3" class="md-radiobtn" type="radio" value="0" name="doctorPayment" checked="checked">


<label for="radio3">
<span class="inc"></span>

<span class="check"></span>

<span class="box"></span>

不允许

</label>


</div>


<div class="md-radio">
<input id="radio4" class="md-radiobtn" type="radio" value="1" name="doctorPayment">


<label for="radio4">
<span class="inc"></span>

<span class="check"></span>

<span class="box"></span>

允许

</label>


</div>


</div>


</div>

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

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

使用道具 举报

该用户从未签到

2#
发表于 2016-7-19 11:24:16 | 只看该作者
label和span是同级的不能这样写吧,你可以试一下这样:
g=driver.find_element_by_xpath("//*[@class='md-radio']/div[1]");
g.find_element_by_xpath("//span[@class='check']").click()

评分

参与人数 1测试积点 +10 收起 理由
lsekfe + 10 积极回复获得测试积点10

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2016-7-19 11:28:05 | 只看该作者
不是同层的,label是有名字区分,span是它下面的一层.
<label for = 'radio4'>
  <span class="inc"></span>
  ...
</label>
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2016-7-19 11:35:11 | 只看该作者
szlzh321 发表于 2016-7-19 11:28
不是同层的,label是有名字区分,span是它下面的一层.

  

哦看到了,你这个是个组件吗,是不是要定位input呢,定位span有可能不行
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2016-7-19 11:41:24 | 只看该作者
这个是开发自己画出来的,没有input
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2016-7-19 11:48:50 | 只看该作者
szlzh321 发表于 2016-7-19 11:41
这个是开发自己画出来的,没有input

嗯,那要是直接定位div,click可以吗
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2016-7-19 12:04:34 | 只看该作者
haitang3219 发表于 2016-7-19 11:48
嗯,那要是直接定位div,click可以吗

也不行,我想做到 radio3跟radio4能自由选择~
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2016-7-19 14:34:56 | 只看该作者
用css_selector定位elements,试试
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2016-7-19 15:12:49 | 只看该作者
aoqizhu310 发表于 2016-7-19 14:34
用css_selector定位elements,试试

我小白一枚~~不会用这个...
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2016-7-19 15:13:00 | 只看该作者
aoqizhu310 发表于 2016-7-19 14:34
用css_selector定位elements,试试

我小白一枚~~不会用这个...
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2016-7-19 15:27:41 | 只看该作者
checks = driver.find_elements_by_xpath("//span[@class='check']")
#radio3
checks[0].click()
#radio4
checks[1].click()
前提页面没其他的"span class="check""
如果是一组元素,我都用driver.find_elements_by取一组元素,要不for循环遍历,要不用那个取那个
本人初学,有错勿怪
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-27 01:35 , Processed in 0.069005 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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