Поиск изменяющихся xpath с регулярными выражениями в Python Selenium (v3.141.0) - PullRequest
0 голосов
/ 24 марта 2020

Будучи новичком в Selenium, я пытаюсь извлечь какое-то текстовое значение из таблицы на веб-странице результатов поиска. В зависимости от поискового запроса, веб-страница всегда имеет одинаковую структуру, но xpath элемента, из которого я хочу извлечь данные, может со временем меняться.

Возможные xpaths выглядят так:

/html/body/div[2]/div[2]/form/div[2]/div[3]/div[2]/table/tbody/tr[2]/td[3]
/html/body/div[2]/div[2]/form/div[2]/div[3]/div[2]/table/tbody/tr/td[3]
/html/body/div[2]/div[2]/form/div[2]/div[3]/div[3]/table/tbody/tr/td[3]

Поскольку элемент не имеет @id, я застрял с xpaths Я думаю. Я посмотрел на функцию .contains, но она не работает. Есть ли способ использовать regex в моей команде ниже:

myText = WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.XPATH, "/html/body/div[2]/div[2]/form/div[2]/div[3]/div[.]/table/tbody/tr([.])?/td[3]"))).text

1 Ответ

0 голосов
/ 24 марта 2020

Вот xpath, который вы можете использовать для получения всех элементов td [3].

//form/div[2]//table/tbody/tr/td[3]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...