documento.getElementByTag
-
13-12-2019 - |
Pergunta
Eu já usei documento.getElementById, mas ele não funciona mais.Eu quero obter o valor de 0,01€, mas eu não posso.Eu quero guardar no meu NSString *price
mas como.O código HTML é
<tr class="price">
<td>0,01</td>
<td>EUR</td>
A minha ideia era
NSString *price = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('price.td').innerText;"];
Solução
O tagName neste caso é 'td' não 'preço.td', mas se você executar document.getElementsByTagName('id')
você vai obter todas as células da tabela na página, que é provavelmente o que você quer.
Se a página tiver carregado jQuery em que você pode usar jQuery('.price td:first').text()
para obter o preço.
Se ele não tiver o jQuery, mas você tem o controle da página, você pode adicionar uma classe para ele (<td class="my-price">12.44</td>
e ele com document.getElementsByClassName('my-price')[0].innerHTML
.
Se você não tem o controle da página e ele não tem jQuery, você terá que encontrar o 'preço' de linha e, em seguida, obter a sua 1-st célula usando document.getElementsByClassName('my-price')[0].childNodes[0].innerHTML
.
Outras dicas
Além disso, um sistema mais limpo e mais flexível abordagem é usar os Seletores de API:
http://www.w3.org/TR/selectors-api/
document.querySelector('.price td:first').innerText