如何找到重复的JS元素BeautifulSoup Python?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (37)

html =

<span class="title">
    <a href="VIDEO HREF" title="title" class="js-pop">title text</a>"
</span>

code =

class Client(QWebPage):

    def __init__(self, url):
        self.app = QApplication(sys.argv)
        QWebPage.__init__(self)
        self.loadFinished.connect(self.on_page_load)
        self.mainFrame().load(QUrl(url))
        self.app.exec_()
    def on_page_load(self):
        self.app.quit()

client_response = Client(url)
source = client_response.mainFrame().toHtml()
soup = bs.BeautifulSoup(source, 'lxml')
for link in soup.findAll('a', class_='js-pop'):
    href = link.get('href')
    print(href)
    print(link.text)

我希望它能够返回href链接和标题文本。

当我运行它时,会输出每个有文本“js-pop”的类,并且有多个名为“js-pop”的类不是我想要抓取的类。

我试图在selenium中搜索页面,当我尝试在class ='js-pop'上找到href时,它会打印出“none”

我试图抓取的元素都有独特的ID,CSS选择器和xpaths

我应该如何去寻找这个元素?

提问于
用户回答回答于
import bs4 as bs

html = '<span class="title"><a href="VIDEO HREF" title="title" class="js-pop">title text</a></span>'
soup = bs.BeautifulSoup(html, 'lxml')

for link in soup.findAll('a', class_='js-pop', href=True, title=True):
    print(link['href'])
    print(link['title'])
    print(link.text)

这将显示:

VIDEO HREF
title
title text

扫码关注云+社区

领取腾讯云代金券