并提前感谢你花了一分钟宝贵的时间来解决这个难题并教育我这个主题。
(请原谅我的术语)
我在iMacros for Firefox中使用以下代码来选择网站上的元素,只要元素存在且顺序相同,该元素就可以正常工作。
TAG XPATH=".//*[@id='contacts']/ul/li[1]/div/ul/li[1]" EXTRACT=TXT
在这种情况下会导致"纽约,纽约和#34;
自:
<div id="contacts" class="article expanding_group">
<div class="article-header">
<!-- Public Company = Block. Public Name/Title = Restricted. -->
<ul class="list">
<li class="list_item">
<div class="list_item_content contact-detail">
<div class="edit expanded">
<ul>
<li class="name"> New York, NY </li>
<li class=" ellipsis">
<a href="http://www.a24films.com" target="_blank">http://www.a24films.com</a>
</li>
<li class="info ">
+1 646 568 6015
<span class="attributes">phone</span>
</li>
<li class="info ellipsis">
<a href="mailto:info@a24films.com" data-linkpa="offsite-contact--email">info@a24films.com</a>
</li>
<li class="address ">601 West 26th Street</li>
<li class="address ">Suite 1740</li>
<li class="address "> New York, NY 10001 </li>
<li class="address ">USA</li>
<li class="address ">
</ul>
</div>
但是,如果字段丢失,它将跳到下一个字段,这实际上会导致数据插入到错误的行中。
E.g。如果我期待列&#34;姓名,电话,地址&#34;,并且它缺少电话,则会导致姓名,地址,空白&#34;。
我只能在列表项1&#39; s class =&#34; name&#34;时看到它,所以我的问题是:有没有办法指定我想要包含的列表项1 &#34;名称&#34;在课堂上?
我尝试了一些字符串的变化无济于事,但我想这样的事情是可能的:
TAG XPATH=".//*[@id='contacts']/ul/li[1]/div/ul/li[1]/name" EXTRACT=TXT
感谢您的时间,
雷纳尔多
答案 0 :(得分:0)
您可以尝试以下代码:
TAG XPATH=".//*[@id='contacts']/ul/li[1]/div/ul/li[@class='name'][1]" EXTRACT=TXT
答案 1 :(得分:0)
试试这个Xpath:
.//*[@id='contacts']//li[@class='name'][1]
我不认为@ Shugar的代码会起作用。