/ / селен не може да намери елемента - xpath

селен не може да намери елемента - xpath

Аз тествам моята уеб приложение, използвайки селен webdriver, но водачът не може да намери елемента ми, стилът на елемента е настроен да показва: няма видим и аз използвам xpath, за да изтегля този елемент тук е моят xpath

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

Моля, консултирайте се.

Много благодаря

Отговори:

1 за отговор № 1

на tbody изглежда подозрително за мен. Това често се включва имплицитно от някои браузъри. Аз не знам някой, който го използва в HTML.

Следователно можете да опитате XPath без него:

By.XPath ( "// * [@ ID =" кутия "] / маса / TR [3] / TD [4]")

Ако това не ти помогне: Можеш ли да добавиш (Х) HTML фрагмент?


0 за отговор № 2

Премахнете тази водеща точка:

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

0 за отговор № 3

Може би, поради причини за отстраняване на грешки (и може би не само за това), трябва да разделите вашия xpath. Например (в псевдо-питън):

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]