![](/img/trans.png)
[英]How to loop through table to find a string match in column 1, then select a dropdown on the same row in another column using Selenium WebDriver Java?
[英]Loop through a table using selenium webdriver
我有一個可以在此處找到的表: Ontario Gov Employee Directory,並且我試圖遍歷該表以提取數據,但仍在努力尋找能夠做到這一點的xpath。
該表沒有ID,當我檢查元素時會看到:
<table title="results_list" border="0" width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="content" valign="top" align="right" width="50">1. </td>
<td class="content">[<a class="results" href='javascript:showEmployeeDetail("32528")'>Aagaard, Lindsay</a>] [ Senior Policy Advisor ] [TREASURY BOARD SECRETARIAT]
<br>[DEPUTY PREMIER AND PRESIDENT OF THE TREASURY BOARD, Toronto]
<!-- [416-327-0948] -->
[416-327-0948] [
<a href="mailto:lindsay.aagaard@ontario.ca">
lindsay.aagaard@ontario.ca</a>]
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td class="content" valign="top" align="right" width="50">2. </td>
<td class="content">[<a class="results" href='javascript:showEmployeeDetail("34417")'>Aalto, Margaret</a>] [ Probation Officer ] [CHILDREN AND YOUTH SERVICES]
<br>[THUNDER BAY, Thunder Bay]
<!-- [807-475-1310] -->
[807-475-1310] [
<a href="mailto:margaret.aalto@ontario.ca">
margaret.aalto@ontario.ca</a>]
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td class="content" valign="top" align="right" width="50">3. </td>
<td class="content">[<a class="results" href='javascript:showEmployeeDetail("9187")'>Aarlaht, Andrew</a>] [ Business Analyst ] [COMMUNITY AND SOCIAL SERVICES]
<br>[HAMILTON, BUSINESS SERVICES UNIT, Hamilton]
<!-- [905-521-7335] -->
[905-521-7335] [
<a href="mailto:andrew.aarlaht@ontario.ca">
andrew.aarlaht@ontario.ca</a>]
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td class="content" valign="top" align="right" width="50">4. </td>
<td class="content">[<a class="results" href='javascript:showEmployeeDetail("9187")'>Aarlaht, Andrew</a>] [ Business Analyst ] [CHILDREN AND YOUTH SERVICES]
<br>[HAMILTON, BUSINESS SERVICES UNIT, Hamilton]
<!-- [905-521-7335] -->
[905-521-7335] [
<a href="mailto:andrew.aarlaht@ontario.ca">
andrew.aarlaht@ontario.ca</a>]
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td class="content" valign="top" align="right" width="50">5. </td>
<td class="content">[<a class="results" href='javascript:showEmployeeDetail("19146")'>Aarons, Drew</a>] [ Messenger ] [LEGISLATIVE OFFICES]
<br>[PARLIAMENTARY PROTOCOL, Toronto]
<!-- [416-325-7455] -->
[416-325-7455] [
<a href="mailto:daarons@ola.org">
daarons@ola.org</a>]
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td class="content" valign="top" align="right" width="50">6. </td>
<td class="content">[<a class="results" href='javascript:showEmployeeDetail("113729")'>Aaswaakshin, Neegann</a>] [ Articling Student ] [ABORIGINAL AFFAIRS]
<br>[LEGAL SERVICES, Toronto]
<!-- [416-212-2271] -->
[416-212-2271] [
<a href="mailto:Neegann.Aaswaakshin@ontario.ca">
Neegann.Aaswaakshin@ontario.ca</a>]
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td class="content" valign="top" align="right" width="50">7. </td>
<td class="content">[<a class="results" href='javascript:showEmployeeDetail("32196")'>Abad, Lilian</a>] [ Executive Assistant ] [TRANSPORTATION]
<br>[GO TRANSIT, Toronto]
<!-- [416-202-5506] -->
[416-202-5506] [
<a href="mailto:lilian.abad@gotransit.com">
lilian.abad@gotransit.com</a>]
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td class="content" valign="top" align="right" width="50">8. </td>
<td class="content">[<a class="results" href='javascript:showEmployeeDetail("114240")'>Abadesso, Jennifer</a>] [ Employment Program Consultant (Acting) ] [TRAINING, COLLEGES AND UNIVERSITIES]
<br>[FOUNDATION SKILLS, Toronto]
<!-- [416-327-2065] -->
[416-327-2065] [
<a href="mailto:jennifer.abadesso@ontario.ca">
jennifer.abadesso@ontario.ca</a>]
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td class="content" valign="top" align="right" width="50">9. </td>
<td class="content">[<a class="results" href='javascript:showEmployeeDetail("104293")'>Abakunzi, Louis</a>] [ Customer Service Representative (Bilingual) ] [GOVERNMENT AND CONSUMER SERVICES]
<br>[SERVICEONTARIO CONTACT CENTRE - NORTH YORK, Toronto]
<!-- [416-235-2999] -->
[416-235-2999] [
<a href="mailto:Louis.K.Abakunzi@ontario.ca">
Louis.K.Abakunzi@ontario.ca</a>]
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td class="content" valign="top" align="right" width="50">10. </td>
<td class="content">[<a class="results" href='javascript:showEmployeeDetail("19309")'>Aban, Edencio</a>] [ Audit Supervisor ] [ATTORNEY GENERAL]
<br>[AUDIT AND COMPLIANCE, Toronto]
<!-- [416-326-6295] -->
[416-326-6295] [
<a href="mailto:edencio.aban@agco.ca">
edencio.aban@agco.ca</a>]
</td>
</tr>
<tr>
<td> </td>
</tr>
</tbody>
</table>
如何遍歷這些行中的數據?
它是表中的表,然后具有一些非常標准的格式。 你有什么挑戰?
該表沒有ID,當我檢查元素時會看到:
它具有您可以使用的其他屬性,例如標題。 使用xpath //table[@title="results_list"]/tbody/tr/td
從最里面的表中查找每個數據元素。 或從xpath中刪除最后一個/td
以獲取每一行。 之后,找到其下的每個td
元素並使用其text
。
注意:最里面的表具有第一列的序列號和第二列的實際數據。 我建議獲取每個td
,然后使用'innerHTML'屬性或elem.text
。 之后,使用常規表達式提取不同部分。
>>> all_tdata = driver.find_elements_by_xpath('//table[@title="results_list"]/tbody/tr/td')
>>> for td in all_tdata:
... print td.get_attribute('innerHTML') # save this in var and regex it
... # or
... data = td.text
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.