gpt4 book ai didi

python - $、^ 和 * 符号在 python 2.7 和 BS4 中的作用

转载 作者:太空宇宙 更新时间:2023-11-03 12:40:58 25 4
gpt4 key购买 nike

Selenium Doc在下面的代码中,他们在 = 运算符之前使用了 ^$*:但是没有一个他们解释了为什么这样的特殊符号

soup.select('a[href="http://example.com/elsie"]')
# [<a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>]

soup.select('a[href^="http://example.com/"]')
# [<a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>,
# <a class="sister" href="http://example.com/lacie" id="link2">Lacie</a>,
# <a class="sister" href="http://example.com/tillie" id="link3">Tillie</a>]

soup.select('a[href$="tillie"]')
# [<a class="sister" href="http://example.com/tillie" id="link3">Tillie</a>]

soup.select('a[href*=".com/el"]')
# [<a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>]

最佳答案

那些是 substring matching attribute selectors adapted from CSS 3 :

  • = 仅当给定值等于元素的属性值时匹配。
  • ^= 仅当给定值是元素属性值的前缀时匹配。
  • $= 仅当给定值是元素属性值的后缀时匹配。
  • *= 仅当给定值包含在元素的属性值中时匹配。

在你的情况下:

  • a[href="http://example.com/elsie"] 选择任何 a 元素,其 href 属性值相等到 http://example.com/elsie
  • a[href^="http://example.com/"] 选择任何 a 元素,其 href 属性值以http://example.com/
  • a[href$="tillie"] 选择任何 a 元素,其 href 属性值以 tillie.
  • a[href*=".com/el"] 选择任何 a 元素,其 href 属性值包含 .com/el.

关于python - $、^ 和 * 符号在 python 2.7 和 BS4 中的作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14171790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com