Как сохранить возвращаемое значение webdriverObject.get_attribute ("srcset"), присутствующего в Selenium WebDriver? - PullRequest
0 голосов
/ 26 июня 2018

Я делаю скрипт скребка Selenium WebDriver на Python для извлечения данных из Instagram, который поможет мне создать набор данных для проблемы глубокого обучения. Я не могу ни сохранить возвращаемое значение Unicode webdriverObject.get_attribute(), ни преобразовать его в строку. Но удивительно, я могу напечатать эти значения.

Как сохранить результат в списке после преобразования Юникода в строку?

Ниже мой код:

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


path="C:\Users\User\Downloads\chromedriver_win32\chromedriver.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 '', u '', u '', u '', u '', u '', u '', u '', u '', u '', u '', u '', u '', u '', u '', u '', u ''] который представляет собой список пустых Unicodes.

Если я сейчас изменил последнюю часть кода и заменил b.append(i.get_attribute("srcset")) на print i.get_attribute("srcset"), значит, он печатает ссылки.

1 Ответ

0 голосов
/ 26 июня 2018

Попробуйте использовать следующее:

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

Надеюсь, это поможет вам!

...