posicionamento XPath do elemento de posicionamento selénio detalhada

 

XPath selénio proporciona o posicionamento nome de método:

driver.find_element_by_xpath (expressões XPath)

xpath está posicionada como uma estrutura de árvore HTML todo. nó HTML como uma raiz. Página entre nós e os outros nós podem ter ancestral, há uma relação entre os pais, irmãos, e os seus descendentes, similar à relação entre nossa família humana.

XPath gramática orientação básica

 

 

 

 

 

Em primeiro lugar, o posicionamento absoluto

Características: 1 barra single / começando; página 2 do elemento de raiz (tag HTML) inicia, em estrita conformidade com a posição e ordem dos elementos na página HTML olhar para baixo

Tais como:

driver.find_element_by_xpath ( " / html / corpo / div [2] / div [1] / div / div [1] / div / forma / extensão [1] / input " )

Em segundo lugar, o posicionamento relativo

Características: 1 com uma barra dupla // no início; 2 não considerar os elementos de caminho de página e posição absoluta entre; 3 a considerar se há conformidade com os elementos de expressão pode ser ....

Em geral, utilizar o posicionamento em relação aos elementos de posicionamento. Para introduzir a seguinte expressão sob o posicionamento relativo prevalecente.

 

2.1 Localização nó do nome do atributo tag +

Sintaxe: // nome do tag [@ name atributo = valor do atributo]

Tais como:

Agora você deseja fazer referência a id "j_password" elemento de entrada, você pode escrever assim:

ele_password = driver.find_element_by_xpath ( " // * [@ id = 'J_login_form'] / dl / dt / input [@ id = 'j_password'] " )

Outra maneira de escrever:

ele_password = driver.find_element_by_xpath ( "// * [@ id = 'J_login_form'] / * / * / input [@ id = 'j_password']")

2.2. Índice elemento de combinação (subscrito) posicionado

  Tais como:

ele_password = driver.find_element_by_xpath ( "// * [@ id = 'J_login_form'] / * / * / input [2] “)

  

2.3. Pelo secção correspondente valor de atributo

Sintaxe: nome // tag [contém (@ name atributo, parte do valor do imóvel)], // nome do tag [starts-with (@ name atributo, parte do valor do imóvel)], // nome do tag [Termina com (@ name atributo , valor de atributo parte)]

a.starts-com exemplos: // input [começa-com (@ id, 'ctrl')] analítica: valor do atributo correspondente do ctrl início

b.ends-com exemplos: // entrada [extremidades com-(@id, '_ nome de utilizador')] analítica: nomeUsuário valor de atributo correspondente da extremidade

c.contains () Exemplos: // entrada [contém (@ id, 'nome de utilizador')] Analítica: Nome de atributo de valor correspondente compreendendo

Da seguinte forma:

driver.find_element_by_xpath ( “// a [contém (@href, 'Sair')]”)
driver.find_element_by_xpath ( “// A [-extremidades com (@href, 'Sair')]”)
driver.find_element_by_xpath ( “// A [starts-with (text (), '退')]”)

2.4 O uso de jogos de texto

Funções: texto ()

Sintaxe: texto Todos os jogos: // nome do tag [text () = text]

   seção de texto correspondente - compreendendo: // nome do tag [contém (text (), a parte do texto)]

Código de amostra é a seguinte:

driver.find_element_by_xpath ( "// a [text ()," Exit "]") # jogo texto completo
driver.find_element_by_xpath ( "// a [contém (text ()," a ")]) coincidir com o texto parte #

2,5, utilizando a expressão eixo segmentação

Axis Nome computação:

ancestral: ancestral nó, incluindo o nó pai

parent: o pai

anterior: o rótulo do elemento de nó atual atrás (antes de páginas HTML) de todos os nós

precedente-irmão: os elementos do rótulo do nó actual antes de todos os irmãos (mesmo nível)

seguinte: o rótulo do nó atual do elemento após todos os nós

seguindo-irmão: o rótulo dos elementos nó atual depois de todos nós irmãos (pares)

Usando a sintaxe: Axis :: nome do nó

Consistente com o posicionamento anterior antes e depois, pode ser separado por /.

Por exemplo:

// div // tabela / td / anterior :: td / seguinte-sibling :: a // [contém (text (), " naturalmente")] 
# indica todos nós // div // mesa de frente / td / path encontrar o nome do nó para o td nó, um irmão no mesmo nível contém caminho descendente texto

  

 

Acho que você gosta

Origin www.cnblogs.com/123blog/p/12465369.html
Recomendado
Clasificación