Como faço para clicar no primeiro link de uma lista usando o Webdriver Selenium

Http://store.nike.com/us/en_us/pw/mens-nikeid-shoes/7puZoolZoi3

Estou a tentar clicar no primeiro sapato listado na loja. Eu preciso saber como clicar confiavelmente no primeiro sapato, como o inventário da loja muda diariamente, então eu estou preocupado que se eu escrever isso eu mesmo sem verificar, o script poderia quebrar quando o inventário do Sapato muda.

Devo usar o xpath ou o css_ selector?

Como é que eu faço correctamente:

driver.find_element_by_css_selector("firstshoe").click()
Author: Ben, 2016-06-06

2 answers

O seguinte selector de CSS corresponde a todos os produtos (sapatos) da Página:

.grid-item.nikeid

E se você usar driver.find_element_by_css_selector(".grid-item.nikeid").click() - você iria clicar no primeiro sapato na página.

 1
Author: alecxe, 2016-06-06 16:59:49

Também pode usar abaixo do XPath para encontrar o primeiro link na grelha

//*[contains(@class,'grid-item')]/a)[1]
 0
Author: Chhagan, 2016-06-07 11:25:33