51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1778|回复: 4

[求助] selenium测试自动化

[复制链接]
  • TA的每日心情
    擦汗
    2019-6-20 14:56
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]测试连长

    发表于 2017-8-28 17:47:58 | 显示全部楼层 |阅读模式
    参照1html  <div class="row">
                                <div class="col m2 l2">查询类型</div>
                                <div class="col m10 l10">
                                    <select id="select_type" name="select_type" class="browser-default">
                                        <option value="0" disabled="" selected="selected">请选择</option>
                                        <option value="1">身份证号</option>
                                        <option value="3">社保号</option>
                                        <option value="2">居民名字</option>
                                    </select>
                                </div>
                            </div>
                            <div class="row">
    2.定位选择框中叫做居民名字的选项如下:IDE录制出来的,定位方式
    Select(driver.find_element_by_id("select_type")).select_by_visible_text(u"居民名字")
            driver.find_element_by_id("CH_Body_btPersonSearch").click()

    3.但是执行后,报错如下:
    Traceback (most recent call last):
      File "D:\zhangyan\test\python\health Record\health_try.py", line 31, in test_add
        Select(driver.find_element_by_id("select_type")).select_by_visible_text(u"居民名字")
      File "C:\Users\IRH-PC\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 282, in find_element_by_id
        return self.find_element(by=By.ID, value=id_)
      File "C:\Users\IRH-PC\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 784, in find_element
        'value': value})['value']
      File "C:\Users\IRH-PC\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 249, in execute
        self.error_handler.check_response(response)
      File "C:\Users\IRH-PC\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 193, in check_response
        raise exception_class(message, screen, stacktrace)
    selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: [id="select_type"]

    请大神指点,这是用IDE录制出来的,定位方式,但是用代码写出来就报错,为啥?

    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-12-24 13:41
  • 签到天数: 314 天

    连续签到: 1 天

    [LV.8]测试军长

    发表于 2017-8-29 09:20:50 | 显示全部楼层
    xz=driver.find_element_by_id("select_type")
    xz.find_element_by_xpath("//option[@value='2']").click()

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10 赶快去商城换取奖.

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-6-20 14:56
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]测试连长

     楼主| 发表于 2017-8-29 10:03:07 | 显示全部楼层
    掉渣饼 发表于 2017-8-29 09:20
    xz=driver.find_element_by_id("select_type")
    xz.find_element_by_xpath("//option[@value='2']").click( ...

    试了您写的方式,我发现还是定位不到Unable to locate element: [id="select_type"]

    试了好几种方式都不可以,太匪夷所思了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2021-12-24 13:41
  • 签到天数: 314 天

    连续签到: 1 天

    [LV.8]测试军长

    发表于 2017-8-29 12:57:23 | 显示全部楼层
    anne_zhang 发表于 2017-8-29 10:03
    试了您写的方式,我发现还是定位不到Unable to locate element:

    试了好几种方式都不可以,太匪夷所思 ...

    是不是在你定位的元素页面源码中存在iframe或者frame,要是有iframe或者frame需要先定位到iframe,再定位它下面的元素
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-6-20 14:56
  • 签到天数: 12 天

    连续签到: 1 天

    [LV.3]测试连长

     楼主| 发表于 2017-9-4 11:02:45 | 显示全部楼层
    掉渣饼 发表于 2017-8-29 12:57
    是不是在你定位的元素页面源码中存在iframe或者frame,要是有iframe或者frame需要先定位到iframe,再定位 ...

    <html>
    <head>
    <body>
    <div class="row">
    <form id="form1" method="post" action="./Home.aspx">
    <div class="aspNetHidden">
    <script type="text/javascript">
    <div class="aspNetHidden">
    <div>
    <div class="row">
    <div class="col m2 l2">
    <div id="divSearch" class="col m19 l9 offset-s5 div_background" style="display: block;">
    <div id="person_query" class="col m12 l12">
    <p class="home_title">个人查询</p>
    <div class="row boarder_color">
    <div class="col m5 l5">
    <div class="row">
    <div class="col m2 l2">查询类型</div>
    <div class="col m10 l10">
    <select id="select_type" class="browser-default" name="select_type">
    </div>
    </div>
    <div class="row">
    firebug看到就这些,没有用到iframe /frame
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-3-28 23:18 , Processed in 0.065457 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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