使用selenium驱动Firefox抓取网页的时候出现如下报错:
TypeError: ‘FirefoxWebElement’ object is not iterable
分析后发现在抓取的时候语法出现问题(我需要抓取的内容有多个,但是没有加"s",故报错。
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('https://uland.taobao.com/sem/tbsearch?refpid=mm_26632258_3504122_32538762&clk1=96c07c670e5f3ea4a09c5fbfbd8f9e44&keyword=%E9%BC%A0%E6%A0%87&page=0')
# 登录
driver.find_element_by_xpath('//*[@id=\"J_SiteNavLogin\"]/div/div[1]/a[1]').click()
driver.find_element_by_xpath('//*[@id=\"J_QRCodeLogin\"]/div[5]/a[1]').click()
# 输入账号
username = driver.find_element_by_xpath('//*[@id=\"TPL_username_1\"]')
username.send_keys('176*******9')
# 输入密码
password = driver.find_element_by_xpath('//*[@id=\"TPL_password_1\"]')
password.send_keys('**********')
# 获取销量,需要加"s"
salevolume = driver.find_elements_by_xpath('//*[@class=\"item\"]/a/div[2]/p/span')
for i in salevolume:
print(i.text)