Forum
>>
Principianti
>>
inserimento dato su una label
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da Duke |
2023-10-13 16:42:22 - inserimento dato su una label
|
Ciao ho un html come questo...
<input class="TextStyles StyledInputInput-sc-148yeee-1 ioLPsn" aria-label="Customer Id:" aria-multiline="false" data-test="textbox" autocomplete="on" role="textbox" tabindex="0" type="text" value=""> dovrei individuare il selettore che mi permette di inserire un dato richiesto da input all'interno di Customer Id in modalità autocompilazione. Come dovrei fare? grazie |
|
Scritto da nuzzopippo |
2023-10-14 11:47:02 - Re: inserimento dato su una label
|
Confesso di non aver compreso bene il contesto della domanda, in particolare su cosa Tu stia operando e quanto Tu debba in realtà fare ... nel complesso mi sembra Tu voglia produrre un testo html partendo da una pagina esistente e manipolandola : ciò non sarebbe di per se difficile, per identificare gli elementi sarebbe già sufficiente l'utilizzo del metodo "find" della classe str, Ti faccio un esempio in una sessione IDLE, sia "html_text" uno stralcio di testo letto da un file html così fatto
Python 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0] on linux Type "help", "copyright", "credits" or "license()" for more information. html_text ='''<h1>La filastrocca</h1> <p>Apelle figlio di Apollo fece una palla di pelle di pollo</p> <br> <input class="TextStyles StyledInputInput-sc-148yeee-1 ioLPsn" aria-label="Ti Piace (Si/No)" aria-multiline="false" data-test="textbox" autocomplete="on" role="textbox" tabindex="0" type="text" value=""> <br> <br> <h1>Chi sei?</h1> <input class="TextStyles StyledInputInput-sc-148yeee-1 ioLPsn" aria-label="Customer Id:" aria-multiline="false" data-test="textbox" autocomplete="on" role="textbox" tabindex="0" type="text" value="">'''potremmo facilmente estrarci i singoli blocchi di input, p.e. così: start = 0 end = 0 starter = '<input' ender = '>' pos = html_text.find(starter, start) if pos >= 0: start = pos start 93 pos = html_text.find(ender, start) if pos > start: end=pos phrase = html_text[start:end+1] print(phrase) <input class="TextStyles StyledInputInput-sc-148yeee-1 ioLPsn" aria-label="Ti Piace (Si/No)" aria-multiline="false" data-test="textbox" autocomplete="on" role="textbox" tabindex="0" type="text" value="">Naturalmente, non è detto che il primo blocco di input estratto sia quello che ci interessa, dovremmo, quindi, individuare una discriminante univoca che ci permetta di ciclare tra i vari blocchi di input presenti sino a trovare quello "giusto", supponiamo che tale discriminante sia una stringa "Cutomer Id:" presente solo e soltanto nel solo blocco che ci interessa, potremmo scriverci una funzione generica che possa individuare un tale blocco di input e vada a manipolarne il "value" sostituendo un eventuale valore presente con uno a nostra scelta, p.e. così: ================================ RESTART: Shell ================================ def insert_to_value(starter, ender, identifier, text, ins_text): pivot = 'value="' start = 0 end = 0 new_step = True while new_step: pos = text.find(starter, start) if pos == -1: return start = pos pos = text.find(ender, start) if pos == -1 or pos <= start: return end = pos phrase = text[start: end + 1] if identifier in phrase: pos = text.find(pivot, start) if pos == -1: return pos += len(pivot) - 1 part1 = text[:pos+1] pos = text.find('"', pos) part2 = text[pos:] result = part1 + ins_text + part2 return result if end >= len(text) - 1: new_step = False else: start = end + 1 html_text ='''<h1>La filastrocca</h1> <p>Apelle figlio di Apollo fece una palla di pelle di pollo</p> <br> <input class="TextStyles StyledInputInput-sc-148yeee-1 ioLPsn" aria-label="Ti Piace (Si/No)" aria-multiline="false" data-test="textbox" autocomplete="on" role="textbox" tabindex="0" type="text" value=""> <br> <br> <h1>Chi sei?</h1> <input class="TextStyles StyledInputInput-sc-148yeee-1 ioLPsn" aria-label="Customer Id:" aria-multiline="false" data-test="textbox" autocomplete="on" role="textbox" tabindex="0" type="text" value="">''' insert_to_value('<input', '>', 'Customer Id:', html_text, 'nuzzopippo') '<h1>La filastrocca</h1>\n<p>Apelle figlio di Apollo fece una palla di pelle di pollo</p>\n<br>\n <input class="TextStyles StyledInputInput-sc-148yeee-1 ioLPsn" aria-label="Ti Piace (Si/No)" aria-multiline="false" data-test="textbox" autocomplete="on" role="textbox" tabindex="0" type="text" value="">\n <br>\n<br>\n<h1>Chi sei?</h1>\n <input class="TextStyles StyledInputInput-sc-148yeee-1 ioLPsn" aria-label="Customer Id:" aria-multiline="false" data-test="textbox" autocomplete="on" role="textbox" tabindex="0" type="text" value="nuzzopippo"">'Ho manipolato un po' l'output di "insert_to_value" per non allungare eccessivamente le righe. Spero sia ciò che Ti serve, fai sapere, Ciao Fatti non foste a viver come bruti... |
Pagina: 1
Esegui il login per scrivere una risposta.