Como escrever uma consulta XPath para corresponder a dois atributos?

143

Pergunta seguinte:

<div id="id-74385" class="guest clearfix" style="z-index: 999;">

Dado anteriormente,

Se eu quiser uma expressão XPath com verificações id e classe, podemos fazê-lo com a condição 'e' LIKE:

//div[@id='id-74385'] and div[@class='guest clearfix']

Esta é a maneira correta? Minha execução falha aqui ... Por favor, ajude!

shola
fonte

Respostas:

211
//div[@id='..' and @class='...]

deve fazer o truque. Isso é selecionar os divoperadores que possuem os dois atributos do valor necessário.

Vale a pena usar um dos bancos de testes XPath on - line para experimentar.

Brian Agnew
fonte
99

ou //div[@id='id-74385'][@class='guest clearfix']

zhangyangyu
fonte
22

Adicionando a resposta de Brian Agnew.

Você também pode fazer //div[@id='..' or @class='...]e pode ter expressões entre parênteses //div[@id='..' and (@class='a' or @class='b')].

CodeMonkey
fonte