yutube爬虫动态加载,需要用到selenium-webdriver,使用过程中,首先使用
find_elements_by_xpath进行批量标签的定位选取,之后
使用find_element_by_xpath精细筛选选标签的时候出现上面错误提示,
原因是这个webdriver的定位方法和浏览器xpath不一样,不能直接定位到标签的属性
需要首先定位到webelement,之后get到属性
例如:
错误写法
try:
temp['host_url'] = node.find_element_by_xpath('./div/div/div/ytd-video-meta-block/div/div/div/yt-formatted-string/a/@href')
except Exception as e:
print(e)
try:
temp['show_url'] = node.find_element_by_xpath('./div/ytd-thumbnail/a/@href')
except Exception as e:
print(e)
try:
temp['title'] = node.find_element_by_xpath('./div/div/div[1]/div/h3/a
在使用selenium-webdriver进行YouTube爬虫时遇到动态加载问题,通过find_elements_by_xpath批量选择标签并尝试用find_element_by_xpath精细化筛选时,出现错误:xpath表达式结果为[object Attr],期望的是Element。错误源于webdriver的xpath定位不直接支持属性定位,需先定位到Web元素再获取属性。正确做法示例:错误用法与正确用法的对比。
订阅专栏 解锁全文
22万+





