51Testing软件测试论坛

标题: selenium webdriver进行元素定位问题 [打印本页]

作者: tishguxi    时间: 2015-6-29 16:14
标题: selenium webdriver进行元素定位问题
本帖最后由 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()


作者: jingzizx    时间: 2015-6-30 12:47
试试先定位父元素看看,再定位子元素试试
作者: tishguxi    时间: 2015-7-1 11:59
我提问的最下方的里面有先找父元素的 貌似还是不行的
作者: 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()
driver.find_element_by_class_name("c").click()

作者: fabbychips    时间: 2015-7-6 16:58
driver.findElement(By.cssSelector("i.c")).click();
这个能行吗?
作者: tishguxi    时间: 2015-7-13 10:42
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 ...

我帖子的最后几句有你说的这几个哦 ,还是不行呢
作者: tishguxi    时间: 2015-7-13 10:43
fabbychips 发表于 2015-7-6 16:58
driver.findElement(By.cssSelector("i.c")).click();
这个能行吗?

我帖子的最后几句有你说的这个元素定位哦 ,还是不行呢
作者: jj03.zhang    时间: 2015-7-13 11:38
#driver.find_element_by_xpath("//i[text()='新建']").click()可以吗?
作者: tishguxi    时间: 2015-7-15 16:34
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()='新建']
作者: tishguxi    时间: 2015-7-15 16:34
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()='新建']




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2