Nicht sicher, warum, aber dieser Code funktioniert heute nicht wie erwartet (ich habe andere Male den gleichen Code für andere HTML verwendet und arbeitete wie ein Charme). Ich versuche herauszufinden, ob der Text "Anular" im HTML-Code ist. Aber kommt immer als Nein, wenn der Text dort sichtbar ist.Verwenden Sie BS4 für WebScraping Validierung
-Code ist:
from bs4 import BeautifulSoup
import re
html = browser.page_source
soup = BeautifulSoup(html, "html.parser")
if soup.findAll(text = re.compile('Anular')):
registo2 = "Yes"
else:
registo2 = "No"
Html (ein Teil davon) ist:
</td>
</tr></tbody></table>
<span class="filter" style="display: block; width: 100%; position: absolute; top:17px;" id="Almoço">
<form action="" method="post" name="itens" id="item_frm">
<input type="hidden" name="item" value="30" /><span style="top: 70px;" class="item_check2">Marcada</span><br /><div style="display:none;z-index:1000;position:fixed;" class="divBlockClass" id="divBlock7172"></div><br /><div style="z-index:10001;" id="msgbox_ref_7172" class="msgbox_ref"><span id="msg_ref_7172"></span><br /><br /><input type="submit" onclick="
document.getElementById('msgbox_ref_7172').style.visibility='hidden'" onmouseout="this.className='input_off'" onmouseover="this.className='input_on'" name="SetData" class="input_off" id="btn_marcar" value=" OK " />
<input type="button" onclick="document.getElementById('msgbox_ref_7172').style.visibility='hidden';document.getElementById('divBlock7172').style.display='none'" onmouseout="this.className='input_off'" onmouseover="this.className='input_on'" class="input_off" value="Cancelar" />
</div><br /><span class="itemref_btn">
<input type="button" "="" onclick="document.getElementById('marcada').value='true';document.getElementById('divBlock7172').style.display='block'; document.getElementById('msgbox_ref_7172').style.visibility='visible';
document.getElementById('msgbox_ref_7172').style.top=event.pageY+'px';
document.getElementById('msg_ref_7172').innerHTML='Tem a certeza que deseja anular?';" onmouseout="this.className='input_off'" onmouseover="this.className='input_on'" style="cursor: pointer; width: 112px;" value="Anular Refeição" class="input_off" id="btn_anular_7172" /></span><table cellspacing="0" cellpadding="0" border="0" width="95%;" id="conteudoTabela">
Jede Idee, warum nicht funktioniert? Etwas, das in der Regexp verbessert werden könnte? Danke.
Ihr Import kommt nach der Deklaration des Parsers. – Mai
falsche Kopie einfügen von der IDLE. Wird es in einem Moment korrigieren. Danke – Gonzalo