我想解析任何给定的链接,看看是否有任何 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 匹配选择器的元素,请看这个:
假设我有一个带有 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/