Не удается найти узел td с идентификатором в XPath - PullRequest
0 голосов
/ 08 июня 2018

Это веб-страница, на которую я нацеливаюсь.Моя проблема в том, что я не могу указать узел 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.Это кнопка «Следующая страница» внизу страницы.Его можно найти на странице источника:

td[@id='pagingWPQ2next']

Другим примером является эта веб-страница.

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 вниз по течению.Этот элемент также можно найти в исходном коде:

td[@id='_7']/table/tr

Почему это так и как я должен найти его правильно?Спасибо.

...