簡體   English   中英

在Python中使用splinter訪問表

[英]Accessing table using splinter in Python

我正在嘗試編寫一個小的python腳本,以抓取內部系統的跟蹤詳細信息。 詳細信息顯示在下面的html表中。 我想把它變成python元組:

(已處理,b單元3門,16年5月30日12:19)(已創建,b單元2門,16年5月30日6:17)

例如。 我正在使用Splinter。

<table class="resultView" cellspacing="0" rules="all" border="1" style="width:540px;border-collapse:collapse;">
    <tr class="clearHeader">
        <th align="left" scope="col">Activity</th><th scope="col">&nbsp;</th><th align="center" scope="col">Date</th>
    </tr>
    <tr class="statusRow">
        <td style="width:30%;">Processed</td>
        <td align="center"> Unit B<br /> Door 3 </td>
        <td align="center" style="width:20%;">30-May-16<br/>12:19</td>
    </tr>
    <tr class="statusAlternate">
        <td style="width:30%;">Created</td>
        <td align="center"> Unit B <br /> Door 2</td>
        <td align="center" style="width:20%;">30-May-16<br/>06:17</td>
    </tr>
</table>

如果我運行:

for update in browser.find_by_css('tr'):
    print update.find_by_css('td')

它顯示:

[<splinter.driver.webdriver.WebDriverElement object at 0x103085e90>,  
 <splinter.driver.webdriver.WebDriverElement object at 0x103085ed0>, 
 <splinter.driver.webdriver.WebDriverElement object at 0x1030b4050>]

這是我所期望的。 但是,我無法從中訪問該值。 將行更改為:

  print update.find_by_css('td').value

給出錯誤:

AttributeError: 'ElementList' object has no attribute 'value'

這是一個列表,因此我嘗試使用以下命令訪問列表中的第一個元素

 print update.find_by_css('td').first.value

然后我得到這個錯誤:

splinter.exceptions.ElementDoesNotExist: no elements could be found with css "td"

我無法弄清楚我做錯了什么?

我認為您的問題是,您正在使用css'tr'或'td'在表中查找“ tr”或“ td”,而在寓言中沒有任何“ tr”和/或“ td”這節課

我建議您在這種情況下,使用xpath查找要查找的元素

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM