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;"];
Foi útil?

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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top