首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS选择器生成

CSS选择器生成
EN

Stack Overflow用户
提问于 2015-07-17 06:19:53
回答 1查看 120关注 0票数 1

我在做一个自动生成网页元素的CSS路径的逻辑时遇到了一个问题。

用例:当用户点击网页上的任何元素时,css选择器会自动生成。

当下一页相同时,这对于抓取文本很有效,但是当元素的顺序改变时就会出现问题。例如:

代码语言:javascript
复制
<html>
    ....
    <body>
          <div>ABC</div>
          <div>DEF
               <span>GHI</span>
               <ul>
                   <li>123abc</li>
                   <li>123abc</li>
                   <li>xyz</li>
               </ul>
          </div>
   </body>
</html> 

假设我为包含"xyz“的第三个li元素生成一个CSS选择器,如下所示

body > div:nthchild(2) > ul > li:nthchild(3)

现在,如果页面发生更改,而新的HTML是:

代码语言:javascript
复制
<html>
    ....
    <body>
          <div>ABC</div>
          <div>DEF
               <span>GHI</span>
               <ul>
                   <li>123abc</li>
                   <li>xyz</li>
               </ul>
          </div>
   </body>
</html> 

我使用上面生成的相同选择器(body > div:nthchild(2) > ul > li:nthchild(3)),这将返回null。

请记住,li元素没有任何类、ids和属性。它们只是包含li标记的纯文本。

目前,我使用以下属性来生成CSS选择器:标记名、id、类名和第n个子索引。

请帮帮我!

EN

回答 1

Stack Overflow用户

发布于 2015-07-17 06:27:00

如果你想得到最后一个你可以使用的:

代码语言:javascript
复制
body > div:nthchild(2) > ul > li:nth-last-child(1)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31465520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档