免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6166 | 回复: 10
打印 上一主题 下一主题

【求助】如何定位复选框 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-05 13:52 |只看该作者 |倒序浏览
想使用python+webdriver的方法对复选框进行勾选,目前已经自动打开网页弹出复选框,但是一直勾选失败

复选框截图如下



复选框的html源码截图如下。源码中两个复选框的id、type都相同,就是value不同





我想通过这句话完成勾选,但执行不成功,请问应该怎么做?
browser.find_element_by_id("productPlatformSearchSelected").click()

论坛徽章:
0
2 [报告]
发表于 2013-12-05 16:49 |只看该作者
browser.find_elements_by_id("productPlatformSearchSelected")[0].click()

论坛徽章:
0
3 [报告]
发表于 2013-12-06 09:29 |只看该作者
回复 2# xmchenb


    执行到你给的那句,报下面这个错误


Traceback (most recent call last):
  File "C:/Python27/test/CIAT.py", line 30, in <module>
    browser.find_elements_by_id("productPlatformSearchSelected")[0].click()
IndexError: list index out of range   

论坛徽章:
0
4 [报告]
发表于 2013-12-06 09:38 |只看该作者
HTML 不规范啊,ID 应该是页面唯一的吧。

Definition and Usage
The id attribute specifies a unique id for an HTML element (the value must be unique within the HTML document).
http://www.w3schools.com/tags/att_global_id.asp

论坛徽章:
0
5 [报告]
发表于 2013-12-06 10:23 |只看该作者
回复 3# good_luck_68


    browser.find_element_by_id("productPlatformSearchSelected").click()


上面你原来的代码,报什么错误?

论坛徽章:
0
6 [报告]
发表于 2013-12-06 10:27 |只看该作者
我估计是:
     你这个窗口是新弹出来的,然后没有switch到这个窗口,所以你运行我提供的那个代码,没有找到元素。

论坛徽章:
0
7 [报告]
发表于 2013-12-06 11:33 |只看该作者
回复 6# xmchenb


    对,这个窗口是新弹出来的,需要在这个窗口上勾选,请问应该怎么定位


    原来语句:browser.find_element_by_id("productPlatformSearchSelected").click()  执行报下面这个错误


   

论坛徽章:
0
8 [报告]
发表于 2013-12-06 11:34 |只看该作者
回复 4# 木卫十二


    这个页面是IT部门做好的,我们只是使用,所以不规范也没办法。。。请问在现有情况下该怎么定位?

论坛徽章:
0
9 [报告]
发表于 2013-12-06 11:43 |只看该作者
回复 7# good_luck_68


    给个例子给你吧,要首先切换到新窗口,再选择,就可以了:


aalhandles = browser.window_handles        
#切换到弹出窗口
browser.switch_to_window(aalhandles[0])
#找框架
frame=browser.find_elements_by_tag_name('frame')
#切换到顶级菜单框架
browser.switch_to_window(aalhandles[0])      
browser.switch_to_frame(frame[0])

论坛徽章:
0
10 [报告]
发表于 2013-12-06 11:45 |只看该作者
你的情况,我估计是关键是
#切换到弹出窗口
browser.switch_to_window(aalhandles[0])
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP