#python #selenium #xpath
#python #selenium #xpath
Вопрос:
Я, кстати, не программист, но в свободное время я стараюсь немного повеселиться. В настоящее время я пытаюсь очистить некоторые данные с веб-сайта и добился наполовину успеха.
Я хочу очистить два данных из изображения в описании, отмеченного красными буквами 1 и 2. Мое единственное требование заключается в том, что xpath должен содержать текст «PinnacleSport», чтобы не путать его со многими другими.
Вот код, который работает для моих первых данных:
pinnacle_opening_home = driver.find_element_by_xpath ("//th[b[contains(text (), 'PinnacleSports')]]/following-sibling::td[2]").text
Мне не очень понятно, как сделать что-то подобное для других данных, поэтому xpath содержит текст «PinnacleSport».
Мне совершенно ясно, что я могу использовать следующее:
driver.find_element_by_xpath ("//html/body/div/div[1]/div[4]/div/div[4]/table /tbody/tr[21]/td[2]").text
… но страницы изменчивы, и это может привести к ошибке для меня в некоторых ситуациях.
Может кто-нибудь дать мне несколько инструкций о том, что попробовать?
Ответ №1:
Попробуйте это или какой-либо вариант и посмотрите, работает ли это:
//tr[th[b[contains(text (), 'PinnacleSports')]]]/following-sibling::tr//td[2]