找不到Selenium Webdriver和Python的元素

时间:2016-03-08 15:03:17

标签: python selenium-webdriver

我在Python中使用Selenium Webdriver并遇到了无法找到元素的问题。我试图在表格中选择h2元素(或其中包含div):

<table class="TabStrip" cellspacing="0" cellpadding="0" border="0" style="padding-top: 0px;">
<tbody>
<tr>
<td style="white-space: nowrap;vertical-align:bottom;">
<td style="white-space: nowrap;vertical-align:bottom;">
<td style="white-space: nowrap;vertical-align:bottom;">
<td style="white-space: nowrap;vertical-align:bottom;">
<td style="white-space: nowrap;vertical-align:bottom;">
<td style="white-space: nowrap;vertical-align:bottom;">
<td style="white-space: nowrap;vertical-align:bottom;">
<td style="white-space: nowrap;vertical-align:bottom;">
<td style="white-space: nowrap;vertical-align:bottom;">
<td style="white-space: nowrap;vertical-align:bottom;">
<td style="white-space: nowrap;vertical-align:bottom;">
<td style="white-space: nowrap;vertical-align:bottom;">
<td style="white-space: nowrap;vertical-align:bottom;">
<td style="white-space: nowrap;vertical-align:bottom;">
<td style="white-space: nowrap;vertical-align:bottom;">
    <div class="TabInactive"> </div>
    <div class="TabNotSelected" onmouseout="previousSibling.className='TabInactive'" onmouseover="previousSibling.className='TabActiveRIA'" tabindex="10" onblur="blurTab(event);" onfocus="focusTab(event);" onkeydown="postBackOnEnter(event, 'b$_tab-flexiKB01P112', null, '1', 'TAB|b$_tab-flexiKB01P112');" onclick="postBackOnEnter(event, 'b$_tab-flexiKB01P112', null, '0', 'TAB|b$_tab-flexiKB01P112');" data-name="b$_tab-flexiKB01P112" style="white-space: nowrap" role="tab" aria    -expanded="false">
        <h2 class="PageTabTitleNotSelected">Workflow Approval</h2>
    </div>
</td>
<td class="TabFiller" style="width:100%;"> </td>
</tr>
</tbody>
</table>

如果我使用:

row = wait.until(ec.presence_of_element_located(
        (By.XPATH, '//table[@class="TabStrip"]/tbody/tr[1]')))

选择行,一切正常。但是一旦我尝试添加单元格:

cell = wait.until(ec.presence_of_element_located(
        (By.XPATH, '//table[@class="TabStrip"]/tbody/tr[1]/td[15]')))

或其中的任何内容,我得到超时并且找不到元素。

我在浏览器中清楚地看到我之后的内容。关于我可能出错的地方的任何想法?

修改

使用以下方法在Selenium IDE中一切正常:

<tr>
    <td>clickAndWait</td>
    <td>//td[15]/div[2]</td>
    <td></td>
</tr>

0 个答案:

没有答案