scrapy爬虫始终定位不到元素

scrapy爬虫始终定位不到元素

欲抓取网页链接
谷歌浏览器审查时界面
在这里插入图片描述
复制的xpath路径为//*[@id=“history”]/tr[1]/td[1],使用浏览器控制台验证无误
在这里插入图片描述
但使用get和xpath得到值为空列表
这里使用requests库定位抓取元素

查看网页源代码对应路径下确实无此元素在这里插入图片描述疑为异步加载网页,查看network
在这里插入图片描述
搜索并未找到欲抓取元素,难受。
不断调试试验,最终在firefox复制xpath绝对路径,并使用selenium成功定位到元素,成功代码如下:

headers = {   
     'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 
     'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3', 
     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36', 
     'Connection': 'keep-alive'} 
cap = DesiredCapabilities.PHANTOMJS.copy() # 使用copy()防止修改原代码定义dict 
for key, value in headers.items():
    cap['phantomjs.page.customHeaders.{}'.format(     
        key)] = value
exepath="/home/xxx/testdemo/phantomjs-2.1.1-linux-x86_64/bin/phantomjs"
browser = webdriver.PhantomJS(desired_capabilities=cap,executable_path=exepath)
#browser = webdriver.PhantomJS(service_args=['--ssl-protocol=any'],desired_capabilities=cap,executable_path=exepath)
browser.get('https://www.flyme.cn/firmwarelist-142.html#')
html = browser.find_element_by_xpath("/html/body/div/div[2]/div[2]/div[8]").get_attribute("outerHTML")
print(len(html))

cli = browser.find_elements_by_xpath('/html/body/div/div[2]/div[2]/div[8]/table/tbody/tr')
#这里最后一级tr定位到同类tr标签

好不容易,摸出来了,基础还是太弱

发布了9 篇原创文章 · 获赞 5 · 访问量 507
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览