网址为http://www.ukmi.nhs.uk/applications/ndo/record_view_open.asp?newDrugID=5073
我需要检查是否有基于证据的评估'存在,如果存在,打印下的内容。为了找到标题,我所做的是:
driver.find_element_by_xpath("//*[@id='contentHolder']//td[text()='Evidence Based Evaluations']")
完整的xpath是:
//*[@id="contentHolder"]/table/tbody/tr/td/table/tbody/tr[4]/td/table/tbody/tr/td[1]/table/tbody/tr[22]/td
下一个元素的xpath(我需要打印)是:
//*[@id="contentHolder"]/table/tbody/tr/td/table/tbody/tr[4]/td/table/tbody/tr/td[1]/table/tbody/tr[23]/td[1]
我需要得到tr的索引(在这种情况下是22),所以我可以增加它并将其用于下一步。但是,tr的索引根据URL中传递的ID而变化。那我怎么得到这个索引呢?
任何帮助将不胜感激!
答案 0 :(得分:0)
给出基于证据的评估的xpath'是:
driver.find_element_by_xpath("//*[@id='contentHolder']//td[text()='Evidence Based Evaluations']")
后续所需元素的xpath是:
//*[@id="contentHolder"]/table/tbody/tr/td/table/tbody/tr[4]/td/table/tbody/tr/td[1]/table/tbody/tr[23]/td[1]
//*[@id="contentHolder"]/table/tbody/tr/td/table/tbody/tr[4]/td/table/tbody/tr/td[1]/table/tbody/tr[24]/td[1]
//*[@id="contentHolder"]/table/tbody/tr/td/table/tbody/tr[4]/td/table/tbody/tr/td[1]/table/tbody/tr[25]/td[1]
我做的是
inp = driver.find_elements_by_xpath("//*[@id='contentHolder']//td[text()='Evidence Based Evaluations']/following::tr/td[1]")
然后使用
print (inp[i].text)
我能够获得相关数据