我正在尝试从一棵深<div>
树中提取一个属性。我尝试了find_all
并选择了;都失败了。请帮忙。我需要的是灰色的线。我需要得到data-num
的值为2。
基本上,我需要在https://www.xin.com/c2b_car_o/201/
的右上角获取橙色值谢谢您的帮助!
答案 0 :(得分:0)
感谢您的帮助。我终于找到了解决方案。
[问题]:我无法使用beautifulsoup定位Web元素。
[原因]:元素是由javascript呈现的。不知道为什么但这就是我从另一个来源得到的答案。有人告诉我我需要使用硒。
[解决方案]:我使用硒成功提取了数字。请参阅下面的代码。
[更多帮助]:问题解决了!但是我不清楚什么情况对硒有益。以及我怎么知道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)))