Так что я не совсем уверен, как это объяснить, но значение класса является атрибутом тега "a".Есть два основных способа решить эту проблему:
1)
companies = browser.find_all(a)
for company in companies:
if company.has_attr("class") and company.attrs['class'] == "action-view-record":
print(company.text)
2)
Другой способ, который немного чище, работает путем фактического указания атрибутов вфункция find_all.Это можно сделать следующим образом:
companies = browser.find_all("a", {"class": "action-view-record"})
for company in companies:
print(company.text)
И, конечно, поскольку питон - это колени пчел, вы могли бы на самом деле выполнить все это в понимании списка следующим образом:
companies = [company.text for company in browser.find_all("a", {"class": "action-view-record"})]
Надеждаэто помогает.
ОБНОВЛЕНИЕ:
Я никогда раньше не использовал robobrowser, но со страницы github кажется, что вы можете найти:
<div class="teaser-icon">
<span class="mega-octicon octicon-checklist"></span>
</div>
, используя-
browser.find('div.teaser-icon')
, так что ... это может сработать для вас,
browser.find('a.action-view-record')
также убедитесь, что вы находитесь в нужной точке дерева HTML, если элемент находится в стороне отеще как -
<head>
<body>
<a class="action-view-record"> TEXT </a>
</body>
</head>
вам может понадобиться найти ("а") из тела, подобного этому.
head = browser.find('head')
body = head.find("body")
atags = body.find_all("a")