51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3199|回复: 9
打印 上一主题 下一主题

selenium webdriver进行元素定位问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2015-6-29 16:14:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 tishguxi 于 2015-6-29 16:17 编辑

<body style="position: relative;"><div style="display: none; position: absolute;" class=""><div class="aui_outer"><table class="aui_border"><tbody><tr><td class="aui_nw"></td><td class="aui_n"></td><td class="aui_ne"></td></tr><tr><td class="aui_w"></td><td class="aui_c"><div class="aui_inner"><table class="aui_dialog"><tbody><tr><td class="aui_header" colspan="2"><div class="aui_titleBar"><div class="aui_title" style="cursor: move;"></div><a href="javascript:/*artDialog*/;" class="aui_close">×</a></div></td></tr><tr><td class="aui_icon" style="display: none;"><div class="aui_iconBg" style="background: transparent none repeat scroll 0% 0%;"></div></td><td class="aui_main" style="width: auto; height: auto;"><div class="aui_content" style="padding: 20px 25px;"></div></td></tr><tr><td class="aui_footer" colspan="2"><div class="aui_buttons" style="display: none;"></div></td></tr></tbody></table></div></td><td class="aui_e"></td></tr><tr><td class="aui_sw"></td><td class="aui_s"></td><td class="aui_se" style="cursor: se-resize;"></td></tr></tbody></table></div></div>
<input type="hidden" value="1218" id="parentCategoryId" name="parentCategoryId">
<input type="hidden" value="" id="current_knowledge_id">
<input type="hidden" value="" id="quote_templet_id">
<input type="hidden" value="" id="wordset_content_id">
<input type="hidden" value="" id="current_knowledge_existExtractValue">
<input type="hidden" value="" id="current_select_existExtractInput">





<!-- 改造关键词弹窗二个隐藏域 -->
<input type="hidden" keytxt="" value="" id="key_word_hidden">
<input type="hidden" value="true" id="update_auth_hidden">
<!-- 网页主体内容开始 -->
<div class="main">
<div class="area-main">
<table width="100%" class="main-content-tab">
        <tbody><tr>
                <td class="vt content_tab_body_left">
                <div class="content-main-left">
                <h4 class="cm-left-title f12"><b class="longwordhander ell fl" title="lili">lili</b>
                        <a href="javascript:;" class="barea-btn tfmar fr"><i class="l"></i><i class="c">新建</i><i class="r"></i></a>
                </h4>
                <!-- 新建知识库弹窗 -->
                <div id="custom_dialog" class="custom-dialog"></div>
                <div id="cm_left_div" style="height: 410px; overflow: hidden;" tabindex="0">
                <div class="cm-left-item f14 m0 p0">
                <ul id="knowledge-wrap">
                        
                </ul>
                </div>

                </div>
                </div>
                </td>
                <td class="content_tab_body dl" id="know_td">
                <div class="content-main-right">
                <div class="cm-right-top">
                <h2 title="" id="currTemplateName" class="fl ell"></h2>
                <div class="fr knowledge-button-area">


求大神指点,如何定位到 上方<a href="javascript:;" class="barea-btn tfmar fr"><i class="l"></i><i class="c">新建</i><i class="r"></i></a>  新建按钮的点击事件啊
我试了好多种方法都不行啊  麻烦帮忙看看!!!!!!!!!!!!!!!!!!!1
#driver.find_element_by_partial_link_text("新建").click()
#driver.find_element_by_css_selector("i[class=\"c\"]").click()

#driver.find_element_by_xpath("//a[contains(@onclick,'addKnowledge')]/i[@class='c']").click()
#driver.find_element_by_xpath("/html/body/div[2]/div/table/tbody/tr/td[1]/div/h4/a/i[2]").click()
#driver.find_element_by_xpath("//*[@onclick='addKnowledge();']/i[2]").click()
#driver.find_element_by_xpath("//*[@onclick=\"addKnowledge();\"i[@class=\"c\"]").click()
#driver.find_element_by_css_selector("a[onclick=\"addKnowledge();\"]").click()
#driver.find_element_by_css_selector("i.c").click()
driver.find_element_by_css_Selector("a.barea-btn.tfmar.fr:contains(\"新建\")").click()

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

使用道具 举报

  • TA的每日心情
    奋斗
    14 小时前
  • 签到天数: 2818 天

    连续签到: 6 天

    [LV.Master]测试大本营

    2#
    发表于 2015-6-30 12:47:34 | 只看该作者
    试试先定位父元素看看,再定位子元素试试

    评分

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

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2015-7-1 11:59:09 | 只看该作者
    我提问的最下方的里面有先找父元素的 貌似还是不行的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2015-12-9 18:46
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2015-7-2 15:30:26 | 只看该作者
    driver.find_element_by_xpath('/html/body/div[2]/div/table/tbody/tr/td[1]/div/h4/a/i[2]').click()
    driver.find_element_by_class_name("c").click()
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2015-7-15 17:35
  • 签到天数: 3 天

    连续签到: 2 天

    [LV.2]测试排长

    5#
    发表于 2015-7-6 16:58:51 | 只看该作者
    driver.findElement(By.cssSelector("i.c")).click();
    这个能行吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2015-7-13 10:42:58 | 只看该作者
    wjw872412485 发表于 2015-7-2 15:30
    driver.find_element_by_xpath('/html/body/div[2]/div/table/tbody/tr/td[1]/div/h4/a/i[2]').click()
    dr ...

    我帖子的最后几句有你说的这几个哦 ,还是不行呢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2015-7-13 10:43:38 | 只看该作者
    fabbychips 发表于 2015-7-6 16:58
    driver.findElement(By.cssSelector("i.c")).click();
    这个能行吗?

    我帖子的最后几句有你说的这个元素定位哦 ,还是不行呢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2015-7-13 11:38:50 | 只看该作者
    #driver.find_element_by_xpath("//i[text()='新建']").click()可以吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2015-7-15 16:34:11 | 只看该作者
    jj03.zhang 发表于 2015-7-13 11:38
    #driver.find_element_by_xpath("//i[text()='新建']").click()可以吗?

    还是不行呢,找不到元素

    Traceback (most recent call last):
      File "D:\04_work\08_workplace\01_eclipse\PythonCase\src\Python27\ISM.py", line 33, in <module>
        driver.find_element_by_xpath("//i[text()='新建']").click()
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 232, in find_element_by_xpath
        return self.find_element(by=By.XPATH, value=xpath)
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 664, in find_element
        {'using': by, 'value': value})['value']
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 175, in execute
        self.error_handler.check_response(response)
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 166, in check_response
        raise exception_class(message, screen, stacktrace)
    selenium.common.exceptions.NoSuchElementException: Message: Unable to find element with xpath == //i[text()='新建']
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2015-7-15 16:34:26 | 只看该作者
    jj03.zhang 发表于 2015-7-13 11:38
    #driver.find_element_by_xpath("//i[text()='新建']").click()可以吗?

    还是不行呢,找不到元素

    Traceback (most recent call last):
      File "D:\04_work\08_workplace\01_eclipse\PythonCase\src\Python27\ISM.py", line 33, in <module>
        driver.find_element_by_xpath("//i[text()='新建']").click()
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 232, in find_element_by_xpath
        return self.find_element(by=By.XPATH, value=xpath)
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 664, in find_element
        {'using': by, 'value': value})['value']
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 175, in execute
        self.error_handler.check_response(response)
      File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 166, in check_response
        raise exception_class(message, screen, stacktrace)
    selenium.common.exceptions.NoSuchElementException: Message: Unable to find element with xpath == //i[text()='新建']
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-23 22:05 , Processed in 0.070990 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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