2024-06-26 13:55:36 发布
网友
我正在看一个标签:
当我写代码时
message = soup.find("div", {"class": "text-msg-container"})
它一点也没有给我。什么是_ngcontent-vex-c62和data-e2e-text-message-content标记?我也需要包括它们吗?我应该怎样写才能得到div标签
_ngcontent-vex-c62
data-e2e-text-message-content
如果要查找类text-msg-container,请尝试Selenium。它将很容易找到任何定位器
text-msg-container
import unittest from selenium import webdriver class PythonSearch(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() def test_search(self): driver = self.driver driver.get("http://www.yoursite.com") elem = driver.find_element_by_css_selector(".text-msg-container") def tearDown(self): self.driver.close() if __name__ == "__main__": unittest.main()
如果您正在测试Chrome,请使用driver = webdriver.Chrome('/path/to/chromedriver')。在这里查看更多信息https://chromedriver.chromium.org/getting-started。 硒的入门https://selenium-python.readthedocs.io/getting-started.html#simple-usage
driver = webdriver.Chrome('/path/to/chromedriver')
您不能,因为当您发送GET请求获取页面代码时,div不在那里
GET
该页面是使用Angular框架构建的,该框架生成SPA(单页应用程序),这意味着您在发送GET请求时无法从中刮取数据,因为数据不在那里。 数据是由Javascript代码生成的,需要先运行Javascript代码才能将所需数据添加到网页中
您需要使用另一种方式,允许Javascript代码先运行,然后再尝试获取所需的数据
请试试这个
message = soup.find("div", _class="text-msg-container")
如果要查找类
text-msg-container
,请尝试Selenium。它将很容易找到任何定位器如果您正在测试Chrome,请使用
driver = webdriver.Chrome('/path/to/chromedriver')
。在这里查看更多信息https://chromedriver.chromium.org/getting-started。 硒的入门https://selenium-python.readthedocs.io/getting-started.html#simple-usage您不能,因为当您发送
GET
请求获取页面代码时,div不在那里该页面是使用Angular框架构建的,该框架生成SPA(单页应用程序),这意味着您在发送
GET
请求时无法从中刮取数据,因为数据不在那里。 数据是由Javascript代码生成的,需要先运行Javascript代码才能将所需数据添加到网页中您需要使用另一种方式,允许Javascript代码先运行,然后再尝试获取所需的数据
请试试这个
相关问题 更多 >
编程相关推荐