如何存储 Selenium WebDriver 中存在的 webdriverObject.get_attribute( "srcset" ) 的返回值?



我正在用Python制作一个Selenium WebDriver抓取脚本来Instagram抓取数据,这将帮助我为深度学习问题创建一个数据集。我既不能存储webdriverObject.get_attribute()的 Unicode 返回值,也不能将其转换为字符串。但令人惊讶的是,我能够打印这些值。

将 Unicode 转换为字符串后,如何将结果存储到列表中?

下面是我的代码:

################################ import modules and set path ###############
from selenium import webdriver

path="C:UsersUserDownloadschromedriver_win32chromedriver.exe"
driver=webdriver.Chrome(path)
from time import sleep
################################ login into instagram #######################
driver.get('https://www.instagram.com/accounts/login')
username = driver.find_element_by_xpath('//*[@name="username"]')
password = driver.find_element_by_xpath('//*[@name="password"]')
username.send_keys("username") #pass your username
password.send_keys("pass") #pass your password
sleep(3)
a=driver.find_element_by_css_selector("._5f5mN").click()
######################################## search for a hashtag###################
inpu=raw_input("Enter the hashtag: ")
url="https://www.instagram.com/explore/tags/"+inpu+"/?hl=en"
driver.get(url)
b=[]
for i in driver.find_elements_by_tag_name("img"):
b.append(i.get_attribute("srcset"))
print b

上述代码的输出是 [u'', u'', u'', u', u', u' 这是一个空白 Unicode 的列表。

如果我现在更改代码的最后一部分并用print i.get_attribute("srcset")替换b.append(i.get_attribute("srcset")),那么它似乎正在打印链接。

尝试使用以下方法:

i.get_attribute("srcset").decode("utf-8")

希望对您有所帮助!

相关内容

  • 没有找到相关文章

最新更新