Я работаю над проектом очистки веб-страниц, используя библиотеку селена, в которой мне нужно извлечь некоторые данные из некоторых таблиц.Как часть проекта, мне нужно перебрать строки таблицы и извлечь условие автора статьи, но это работает только для первой строки.Кажется, переменная сохраняет данные первой строки и не изменяется даже после каждой итерации.Это упомянутая часть моего кода:
div_result = driver.find_element_by_class_name("result-body-paper")
papers = div_result.find_elements_by_tag_name("tr")
papers_information = []
for paper in papers:
data = paper.find_elements_by_tag_name("td")
result_title = data[1].text
author = paper.find_element_by_xpath('//span[@data-paper-person="{id}"]'.format(id=person_id))
try:
first_author = author.find_element_by_tag_name("i").get_attribute("class")
except:
first_author = ""
author_condition = "Helper"
if first_author != "":
if "pencil" in first_author:
author_condition = "First Writer"
if "asterisk" in first_author:
author_condition = "Orginal Writer"
if "star" in first_author:
author_condition == "Orginal Worker"
papers_information.append([author_condition,result_title])
В отличие от того, что я ожидаю, каждый раз
first_author
и
author
совпадают с тем, что было в первом ряду таблицы.Однако другие части работают правильно и работают правильно.Это ошибка или что-то?Кстати, это часть HTML-кода, из которого я пытаюсь извлечь данные (просто состоит из двух строк таблицы):
<tr class="zarEn selectable">
<td class="result row center" width="35">1</td>
<td class="result title "><a href="...">Hepatic insulin resistance, metabolic syndrome and cardiovascular disease</a></td>
<td class="result author zarsmallEn" width="200">
<span data-paper-person="98155">
<a href="...">
<img src="..." class="person-avatar-mini">
<i class="fa fa-fw fa-pencil crimson absolute"></i>
</a>
</span>
</td>
<td class="result source_title ">
<a href="...">Clinical Biochemistry</a>
</td>
<td class="result source_cs">
<a href="...">2.35</a>
</td>
<td class="result published_year center">2009</td>
<td class="result citation center">217</td>
</tr>
<tr class="zarEn selectable">
<td class="result row center">2</td>
<td class="result title "><a href="...">Molecular and cellular mechanisms linking inflammation to insulin resistance and β-cell dysfunction</a></td>
<td class="result author zarsmallEn">
<span data-paper-person="14144442">
<a href="...">
<img src="...">
<i class="fa fa-fw fa-pencil lightgray absolute"></i>
</a>
</span>
<span data-paper-person="14137800">
<a href="..."><img src="..."></a>
</span>
<span data-paper-person="98155">
<a href="...">
<img src="...">
<i class="fa fa-fw fa-asterisk crimson absolute"></i>
</a>
</span>
</td>
<td class="result source_title ">
<a href="...">Translational Research</a>
</td>
<td class="result source_cs">
<a href="...">4.26</a>
</td>
<td class="result published_year center">2016</td>
<td class="result citation center">71</td>
</tr>
Как видите, имя класса из двух "" отличается, но
first_author
получает первое и больше не меняется!