【发布时间】:2017-03-21 16:12:09
【问题描述】:
大家好,我使用的是 Python 3.0,我正在尝试点击表格中的链接。
目前我找不到链接,所以无法点击。
下面是被选元素的html
这里的道歉是一个更好的代码示例...
<div id="divMyActivities2" originalheight="125px" style="overflow-y:auto;top:0px;left:0px;width:451px;height:125px;">
<table id="tblMyActivities" class="podborder" border="0" cellpadding="3" cellspacing="0" style="overflow-y: auto; table-layout: fixed; border: 1px solid #CCCCCC; border-top: none; width: 100%; border-top-left-radius: 0px; border-top-right-radius: 0px">
<tr>
<td class="customheader" style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; width: 100%; color: #004a78; background: #e6ebf1 !important; font-size: 11px;" align="left"> <b>Type of Activity</b>
</td>
<td class="customheader" style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; width: 50px; color: #004a78; background: #e6ebf1 !important; font-size: 11px;" align="center"><b>Past Due</b>
</td>
<td class="customheader" style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; width: 60px; color: #004a78; background: #e6ebf1 !important; font-size: 11px;" align="center"><b>This Week</b>
</td>
<td class="customheader" style="border-bottom: 1px solid #CCCCCC; font-size: 11px; width: 50px; color: #004a78; background: #e6ebf1 !important;" align="center"><b>All</b>
</td>
</tr>
<tr class="blacktext">
<td style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; text-align: left; width: 100%;">
<img src="../../common/images/cwtoday_bullet.gif" border="0" />
<label onclick="pageNav('crmSales');" class="tablelink">CRM / Sales Activities</label>
</td>
<td id="tdSalesPastDue" class="tabletext" style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; width: 50px;" align="center"> </td>
<td id="tdSalesThisWeek" class="tabletext" style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; width: 60px;" align="center"> </td>
<td id="tdSalesAll" class="tabletext" style="border-bottom: 1px solid #CCCCCC; width: 50px;" align="center">
</td>
</tr>
<tr id="trProjAct" class="blacktext">
<td style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; text-align: left; width: 100%; background: #f6f6f6;"> 
<img src="../../common/images/cwtoday_bullet.gif" border="0" />
<label onclick="pageNav('projectActs');" class="tablelink">Project Tickets</label>
</td>
<td id="tdPrjActPastDue" class="tabletext" style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; width: 50px; background: #f6f6f6;" align="center"> </td>
<td id="tdPrjActThisWeek" class="tabletext" style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; width: 60px; background: #f6f6f6;" align="center"> </td>
<td id="tdPrjActAll" class="tabletext" style="border-bottom: 1px solid #CCCCCC; width: 50px; background: #f6f6f6;" align="center"> </td>
</tr>
<tr class="blacktext">
<td style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; text-align: left; width: 100%;">
<img src="../../common/images/cwtoday_bullet.gif" border="0" />
<label onclick="pageNav('projectIssues');" class="tablelink">Project Issues</label>
</td>
<td id="tdPrjIssPastDue" class="tabletext" style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; width: 50px;" align="center"> </td>
<td id="tdPrjIssThisWeek" class="tabletext" style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; width: 60px;" align="center"> </td>
<td id="tdPrjIssAll" class="tabletext" style="border-bottom: 1px solid #CCCCCC; width: 50px;" align="center"> </td>
</tr>
<tr class="blacktext">
<td style="border-right: 1px solid #CCCCCC; border-bottom-left-radius: 6px; text-align: left; width: 100%; background: #f6f6f6;">
<img src="../../common/images/cwtoday_bullet.gif" border="0" />
<label onclick="pageNav('serviceRequests');" class="tablelink">Service Tickets</label>
</td>
<td id="tdSRPastDue" class="tabletext" style="border-right: 1px solid #CCCCCC; width: 50px; background: #f6f6f6;" align="center"> </td>
<td id="tdSRThisWeek" class="tabletext" style="border-right: 1px solid #CCCCCC; width: 60px; background: #f6f6f6;" align="center"> </td>
<td id="tdSRAll" class="tabletext" align="center" style="width: 50px; background: #f6f6f6; border-bottom-right-radius: 6px;"> </td>
</tr>
我正在尝试选择这个元素:
<label onclick="pageNav('serviceRequests');" class="tablelink">Service Tickets</label>
我尝试过的......
试过了:
driver.find_element_by_partial_link_text('Tickets').click()
例外:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"partial link text","selector":"Tickets"
试过了:
driver.find_element_by_link_text('Service Tickets').click()
例外:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"link text","selector":"Service Tickets"
试过
driver.find_elements_by_css_selector(".tablelink")
结果:
produces an empty list "[]"
试过了:
driver.find_element_by_tag_name("label")
例外:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"tag name","selector":"label"}
我找到了这个网址,但我无法更改代码:Find and click an item from 'onclick' partial value
- 我猜我厌倦了从链接解码
试过了:
driver.find_element_by_css_selector("tablelink[onclick*='Service Tickets']")
例外:
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"tablelink[onclick*='Service Tickets']"}
任何帮助都会很棒,在此先感谢。
【问题讨论】:
-
您可以提供您的 HTML 部分,以便我们了解实际应该是什么。您的代码和 HTML 似乎不匹配。
-
检查元素是否在 iframe 中。确保在需要时等待元素并尝试使用 CSS 选择器,例如:“label[onclick*=serviceRequests]”