J'essaye d'écrire un petit script python qui récupère les détails de suivi pour un système interne. Les détails sont présentés dans un tableau html ci-dessous. Je cherche à le transformer en tuples python:Accéder à une table en utilisant un séparateur en Python
(transformée, b unité porte 3, 30-MAY-16 12:19) (créée, une unité de porte 2 b, 30-MAY-16 06:17)
Par exemple. J'utilise 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"> </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>
Si je cours:
for update in browser.find_by_css('tr'):
print update.find_by_css('td')
affiche:
[<splinter.driver.webdriver.WebDriverElement object at 0x103085e90>,
<splinter.driver.webdriver.WebDriverElement object at 0x103085ed0>,
<splinter.driver.webdriver.WebDriverElement object at 0x1030b4050>]
Ce qui est ce que je me serais attendu. Cependant, je ne peux pas accéder à la valeur de celui-ci. Modification de la ligne:
print update.find_by_css('td').value
donne l'erreur:
AttributeError: 'ElementList' object has no attribute 'value'
Voici une liste donc j'essaye d'accéder au premier élément de la liste avec
print update.find_by_css('td').first.value
je puis obtenir cette erreur:
splinter.exceptions.ElementDoesNotExist: no elements could be found with css "td"
Je ne peux pas w ork out ce que je fais mal?