SELENIUM爬取网页http://hqb.nxin.com/pigindex/index.shtml信息,在网页上用CSS表达式,最终找到了12个元素,然后用PYTHON编程,却只能找到1个元素,而且不是之前在网页上找到的任何一个?
基本已排除iframe问题,已排除等待太短问题。
代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
import os,time
if __name__ == "__main__":
time_start = time.time()
user_give = r'E:\python\爬虫\chromedriver.exe'
url_give = r'http://hqb.nxin.com/pigindex/index.shtml'
wd = webdriver.Chrome(user_give)
wd.implicitly_wait(10)
wd.get(url_give)
eleemnt_jiage = wd.find_element_by_id('chart')
time.sleep(10)
element = eleemnt_jiage.find_elements_by_css_selector('#chart > div > svg>:nth-child(21)>g')
for i in element:
print('打印一个串')
print(i.get_attribute('innerHTML') )
# wd.quit()
time_end = time.time()
print('计算用时{:.2f}秒'.format(time_end-time_start))
CSS在网页上找到了12个,如下图:
但上面代码运行后,却只一个意想之外的结果:
用xpath定位试试
你选取的子节点的写法有问题,应该写在g下面:
element = eleemnt_jiage.find_elements_by_css_selector(
'#chart > div > svg>g:nth-child(21)')