我试图访问Web of Science数据库以获取某些数学论文的分类。在下面的HTML中,"数学"将是理想的结果。类别包括"应用数学"和"统计"同样。具体来说,我想在这个在线数据库的不同网站上为许多不同的数学论文迭代这个过程,我不能搜索特定的xpath,因为xpath从纸张变为纸张。
HTML代码:
<p class="FR_field">
<span class="FR_label">Web of Science Categories:</span>Mathematics</p>
例如,&#34;数学&#34;位于
//*[@id="records_form"]/div/div/div/div[1]/div/div[8]/p[2]/text()
对于该特定纸张,但p标签或其中一个div标签的索引可能会因纸张而异。我写的代码是
用于远程访问的Python代码:
driver.find_element_by_xpath("//*[contains(text(), 'Web of Science Categories:')]").text[26:]
但这似乎不起作用,如果我打印结果,它将不会打印任何内容。也许是因为我试图做的额外文本拆分而遇到这个错误?我只想要&#34;数学&#34;而不是&#34; Web of Science类别:数学&#34;所以我在26个字符之后拆分结果。
编辑:经过一些进一步的测试后,似乎我确实得到了一个结果,但它没有打印,因为我的python代码只看到了#34; Web of Science类别:&#34;当然,将此字符串拆分为第26个字符将不会打印任何内容。然而,这提出了如何实际获得&#34;数学&#34;而不是#34; Web of Science类别:&#34;答案 0 :(得分:1)
根据您提供的用于提取文字数学的HTML,您可以使用以下代码行:
text1 = driver.find_element_by_xpath("//p[@class='FR_field']").get_attribute("innerHTML").splitlines()[2]