在通过import.io的培训博客和W3schools之后,编写xpath覆盖对我来说仍然是一个困难。我试图从一个信息不总是在同一个地方的网站中提取属性值,所以我知道我需要编写一个xpath覆盖。 HTML是:
<dt>3TG:</dt>
<dd>Does not contain 3TG</dd>
<dt>Contract Catalog Item:</dt>
<dd>Y</dd>
<dt>Diameter:</dt>
<dd>3/8"</dd>
<dt>Diameter-Thread Size:</dt>
<dd>3/8"-16</dd>
<dt>Finish:</dt>
<dd>Zinc</dd>
<dt>Grade:</dt>
<dd>5</dd>
<dt>Length:</dt>
<dd>1"</dd>
<dt>Material:</dt>
<dd>Steel</dd>
xpath是
//*[@id="main"]/div[1]/div[4]/div/div[1]/div[1]/dl/dt[4]
我试过了
//*[@id="main"]/div[1]/div[4]/div/div[1]/div[1]/dl/dt[contains(text(), "Finish")]/following-sibling::dt/text()
和
//*[@id="main"]/div[1]/div[4]/div/div[1]/div[1]/dl/td/dd[.="Finish:"]/following::dd
但没有运气。我不确定它是跟随还是跟随兄弟姐妹。任何帮助将不胜感激。
答案 0 :(得分:0)
new Promise((resolve, reject) =>
resolve(new Promise((resolve, reject) =>
reject("rejectCall_2")
));
).catch( e1 => console.log('e1',e1));
将XXXX更改为您想要的内容
EG:如果您想知道有关“3TG:”的信息,它将会是这样的。
//*[text()="XXXX"]/following-sibling::*
所以xPath找到任何带有TEXT“3TG:”的元素,无论标记如何,然后查看下面的兄弟(它旁边的东西)。
为了使其更具体到您的定义列表,您可以添加更多特性:
//*[text()="3TG:"]/following-sibling::*
<dt>3TG:</dt>
<dd>Does not contain 3TG</dd>