Pergunta

Eu tenho várias linhas em uma tabela, em um dos quais é um link que eu gostaria de clique automaticamente. Para o meu ponto de partida eu tenho a última instância que uma linha contém o texto "Test Question?":

EU IRIA: 1416

Editar / Aprovar Ignorar O email Nome: Nome apresentador

Open N / D Localização: Submitter Localização

Membro: Não

Pergunta Texto: Teste Pergunta? Resposta 1 Texto:

Response 2 Texto:

EU IRIA: 1417

Editar / Aprovar Ignorar O email Nome: Nome apresentador

Open N / D Localização: Submitter Localização

Membro: Não

Pergunta Texto: Teste Pergunta? Resposta 1 Texto:

Response 2 Texto:

Assim, // tr [td = 'Test Question?'] [Last ()] seria algo como "Pergunta Texto:? Teste Pergunta"

De qualquer forma, três linhas acima dos que há uma linha com um monte de links na mesma. Gostaria que o XPath para o link na primeira célula.

Agora, eu tentei usar a posição (), mas coisas como // tr [position () = (// tr [td = 'Test Question?'] [Last ()] [position ()]) - 3] apenas não é o caminho certo para fazê-lo e não consigo encontrar qualquer bons exemplos.

Thanx

Dave

Foi útil?

Solução

Isso vai ser um xpath muito gnarly para dizer o mínimo, mas você está olhando para eixos começando com ancestor::tr e, em seguida, anterior-irmão. Tunnel até <tr>, depois, através de três (você vai precisar position() ref aqui eu acho) e, em seguida, para baixo de uma forma normal de lá para o seu objetivo.


Edit:. Mais fácil do que eu pensava, as contagens anteriores-irmão para trás

./ancestor::tr/preceding-sibling::tr[3]/td[1]/a
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top