Это веб-страница, на которую я нацеливаюсь.Моя проблема в том, что я не могу указать узел td с его идентификатором:
import requests from lxml import html test_url = "https://www.ntuh.gov.tw/labmed/檢驗目錄/Lists/2015/BC.aspx" page_response = requests.get(test_url, verify=False) page_root = html.fromstring(page_response.content) page_root.xpath("//td[@id='pagingWPQ2next']/a/@onclick")
Последняя строка выдает [], пока этот узел действительно существует и может быть найден с помощью browser.find_element_by_xpath("//td[@id='pagingWPQ2next']") с помощью selenium.Это кнопка «Следующая страница» внизу страницы.Его можно найти на странице источника:
[]
browser.find_element_by_xpath("//td[@id='pagingWPQ2next']")
selenium
Другим примером является эта веб-страница.
detail_url = "http://www.ntuh.gov.tw/labmed/檢驗目錄/Lists/2015/DispForm.aspx?ID=369&Source=http%3A%2F%2Fwww%2Entuh%2Egov%2Etw%2Flabmed%2F%25E6%25AA%25A2%25E9%25A9%2597%25E7%259B%25AE%25E9%258C%2584%2FLists%2F2015%2FBC%2Easpx&ContentTypeId=0x01003E4C6DCCAFBEF64BACFA9B88DBDEF416" page_response = requests.get(detail_url, verify=False) page_root = html.fromstring(page_response.content) page_root.xpath("//td[@id='_7']/table/tr") # This line yields [] page_root.xpath("//table[@id='onetIDListForm']/tr/td/div/div/div/div/table/tr[3]/td/table/tr") # This line gives me trs as expected # However I thought both lines should work
Опять же, похожая проблема: я не могу указать узел td с его идентификатором, но я могу указать таблицу с идентификатором и найти тот же самый td вниз по течению.Этот элемент также можно найти в исходном коде:
Почему это так и как я должен найти его правильно?Спасибо.