无法使用deep di中的beautifulsoup提取属性

2024-10-05 10:12:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从一个深<div>树中提取一个属性。我尝试find_all并选择;两个都失败了。请帮忙。我需要灰色的那条线。我需要得到data-num的值,它是2

基本上,我需要得到https://www.xin.com/c2b_car_o/201/右上角的橙色值

谢谢你的帮助

enter image description here


Tags: httpsdivcomdata属性wwwallfind
1条回答
网友
1楼 · 发布于 2024-10-05 10:12:59

谢谢你的帮助。我终于找到了解决办法

[问题]:我无法使用beautifulsoup定位web元素
[原因]:元素是由javascript呈现的。我不知道为什么?但这是我从另一个渠道得到的答案。我被告知我需要使用硒
[解决方案]:我使用selemium成功地提取了数字。请参阅下面的代码
[更多帮助]:问题解决了!但我不清楚什么情况对硒有利。我如何知道javascript呈现的特定元素是什么,而不能使用beautifulsoup提取。请给一个尝试,并张贴您的代码,如果你可以使用bs4。或者,请提供更多解释。谢谢

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome('G:\chromedriver\chromedriver')
driver.get("https://www.xin.com/c2b_car_o/201/")
elements = driver.find_elements_by_xpath('//*[@class="mt-number-animate-dom"]')
num_str=[el.get_attribute("data-num") for el in elements]
print(int(''.join(num_str)))

相关问题 更多 >

    热门问题