javascript - 如何从符合特定条件的 HTML 中找到 CSS 选择器?

标签 javascript python css parsing html-parsing

我想解析任何给定的链接,看看是否有任何 CSS 选择器的属性可能部分或完全匹配特定关键字。 如果我的关键字是 print,我希望给定链接中的每个 CSS 选择器在其中的任何地方都有 print,它可能出现在名称、id 或类或任何地方。

例如,如果我提供的链接为我提供以下 html:

<body>
    <div>
        <p class="testprintrandom">Lorem ipsum</p>
        <p id="randomstackoverflowrandomtext">Lorem ipsum</p>
        <a href="/randomLink/rancheque324">Good Bye</a>
        <input type="text" placeholder="Your Email address">
    </div>
</body>

如果我的关键字是“print”,那么我应该得到选择器“p.testprintrandom”,因为它的类名中有 print。同样,如果我的关键字是“stackoverflow”,我应该得到 id“randomstackoverflowrandomtext”,因为 id 的一部分里面有 stackoverflow。同样,如果我的关键字是电子邮件,那么我应该为输入标签获取 CSS 选择器,因为占位符中有电子邮件。

首先,我想知道这是否可行,如果可行,我该如何实现,有没有我可以使用的特定库或框架?

如果这会以任何方式影响答案,我稍后会将获得的选择器与 puppeteer 一起使用。

最佳答案

只是一个例子/示例:

根据你的问题,你想找到一个关于它的 css 匹配选择器的元素,请看这个: enter image description here

假设我有一个带有 css = class="lx-stream-show-more__button gel-long-primer-bold" 的按钮,我想获取与 gel 匹配的元素-long-primer-bold作为 css 的末尾,所以我会这样做:

from selenium import webdriver
browser = webdriver.Chrome()
browser.get(url)

bt = browser.find_elements_by_css_selector('.gel-long-primer-bold')

bt 中,我将获取所有以 gel-long-primer-bold css 结尾的元素。然后将执行进一步的操作。

注意:这只是一个给你概念的例子。如果您提供代码或对您的问题提供更好的解释,您将获得更好的答案。

希望对您有所帮助! :)

关于javascript - 如何从符合特定条件的 HTML 中找到 CSS 选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49028567/

相关文章:

javascript - 表单中的按钮背面 "one level up"

javascript - 使用 javascript 监控 twilio 调用

javascript - 在 react.js 中扩展样式对象

python - Matplotlib:如何将颜色条切成2个或更多?

python - 在 PySpark 中展平动态嵌套结构(结构内的结构)

html - 无法将 FOOTER 推到页面底部

javascript - 如何使用 jQuery 在表格中淡入淡出

python - 将 pandas 中的行转换为列

css - 服务器端渲染时图像在加载时拉伸(stretch)到 100%

jquery - 阻止某些特定页面中的特定 css 内容