/ / selen nie może znaleźć elementu - xpath

selen nie może znaleźć elementu - xpath

Testuję moją webappę przy pomocy selionowego webdrivera, ale sterownik nie może znaleźć mojego elementu, styl elementu jest ustawiony do wyświetlania: none visible, i używam xpath do pobrania tego elementu tutaj jest mój xpath

By.XPath(".//*[@id="box"]/table/tbody/tr[3]/td[4]")

Proszę doradź.

Wielkie dzięki

Odpowiedzi:

1 dla odpowiedzi № 1

temu tbody wygląda mi się podejrzane. Jest to często niejawnie dodaje przez niektóre przeglądarki.Don "t wie każdy, kto używa go w formacie html.

W związku z tym można spróbować XPath bez niego:

By.XPath("//*[@id="box"]/table/tr[3]/td[4]")

Jeśli ten nie robi "t pomoc: można dodać (X) HTML fragment?


0 dla odpowiedzi nr 2

Usunięcia tej kropki wiodącej:

By.XPath("//*[@id="box"]/table/tbody/tr[3]/td[4]")

0 dla odpowiedzi № 3

Może dla debugowania powodów (i może nie tylko za to) należy podzielić się swoim xpath.Na przykład (w pseudo-python):

tables = driver.findElementsByXPath("//*[@id="box"]/table")
if len(tables) == 0:
break

trs = tables[0].findElementsByXPath("/tr")
if len(trs) == 0:
break

tds = trs[3].findElementsByXPath("/td") # or maybe trs[2]
if len(tds) == 0:
break

td = tds[4] # or maybe tds[3]