Qual XPath posso usar para selecionar qualquer categoria com um atributo de nome especificado e qualquer autor de nó filho com o valor especificado.
Eu tentei diferentes variações do caminho abaixo sem sucesso:
//quotes/category[@name='Sport' and author="James Small"]
O XML:
<?xml version="1.0" encoding="utf-8"?>
<quotes>
<category name="Sport">
<author>James Small<quote date="09/02/1985">Quote One</quote><quote date="11/02/1925">Quote nine</quote></author>
</category>
<category name="Music">
<author>Stephen Swann
<quote date="04/08/1972">Quote eleven</quote></author>
</category>
</quotes>
Use :
ou use:
É uma boa regra tentar evitar o uso do
//
pseudo-operador sempre que possível, porque sua avaliação geralmente pode ser muito lenta.Além disso:
é equivalente a:
portanto, é recomendável usar o último.
fonte
pergunta não é clara, mas o que eu entendo é necessário selecionar uma categoria que tenha o atributo name e deva ter um autor filho com o valor especificado, corrija-me se estiver desgastado
aqui está um xpath
fonte
Você pode aplicar várias condições no xpath usando e, ou
fonte
Aqui, também podemos fazer o seguinte:
//category [@name='category name']/author[contains(text(),'authorname')]
OU
Para aprender XPATH em detalhes, visite- selenium xpath em detalhes
fonte