<dl>
<dd status="-1">全部:<span id="allCount">27587</span></dd>
<dd class="active" status="1">待批阅:<span id="unCheckCount">141</span></dd>
<dd status="2">已完成:<span id="finishCount">25830</span></dd>
<dd status="0">未提交:<span id="unSubmitCount">953</span></dd>
<dd status="3">低于60分:<span id="reDoCount">663</span></dd>
</dl>
进入页面是初始状态为
想求换到“已完成”但是总是定位不上
button9 = brower.find_element(By.XPATH, '/html/body/div[2]/div[2]/dl[2]/dd[3]') # 点击已完成作业按钮
button9.click()
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[2]/div[2]/dl[2]/dd[3]"}
1、可以看一下元素是不是在iframe下,如果有就需要切换到当前的iframe下才能定位。
2、可以尝试直接用其他方法定位一下,如//dd[text()="已完成:"]
主要也没有你网页,我也说不好是不是别的问题
看一下是不是在框架内,或者是需要动态加载需要下拉啥的,为啥不用id定位,实在不行可以考虑用js定位吧
或者你用xpath呢,brower.find_element_by_xpath('//dd[contains(text(),"已完成:")]').click()