Найти - Пользователи
Полная версия: type 'unicode'?
Начало » Python для новичков » type 'unicode'?
1
gelius
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://python.org/")
#Ищем все по тегу img
list_links = driver.find_elements_by_tag_name('img')
for i in list_links:
#Получаем аттрибут тега img
	im = i.get_attribute('src')
        random.shuffle(im)
#выключаем webdriver
driver.quit()
“random.shuffle(im)” выдает ‘typeerror’. неподдерживается работа с юникод объектами.
“im” - имеет type ‘unicode’.
Нужно выбрать случайный линк на картинку.
terabayt
from selenium import webdriver
import random
driver = webdriver.Firefox()
driver.get("http://python.org/")
list_links = driver.find_elements_by_tag_name('img')
print(random.choice(list_links).get_attribute('src'))
driver.quit()
gelius
ОК, так заработало. Все равно не понимаю с этим ‘unicode’. Теперь не могу кликнуть по ссылке. Говорит
unicode object has no attribute click
terabayt
код
gelius
На данный момент так:
from selenium import webdriver
from selenium.webdriver import Firefox, FirefoxProfile, ActionChains
import random
driver = webdriver.Firefox()
driver.get("http://python.org/")
list_links = driver.find_elements_by_tag_name('a')
url = random.choice(list_links).get_attribute('href')
actions = ActionChains(driver)
actions.click(url)
driver.quit()
Все еще не кликает. Ошибок не выдает.
terabayt
from selenium import webdriver
from selenium.webdriver import Firefox, FirefoxProfile, ActionChains
import random
driver = webdriver.Firefox()
driver.get("http://python.org/")
list_links = driver.find_elements_by_tag_name('a')
url = random.choice(list_links)
actions = ActionChains(driver)
actions.click(url)
actions.perform()
#driver.quit()
gelius
А если так:
from selenium import webdriver
from selenium.webdriver import Firefox, FirefoxProfile, ActionChains
import re
import random
driver = webdriver.Firefox()
driver.get("http://python.org/")
list_links = driver.find_element_by_xpath(u'//img/ancestor::a[not(re:match(@href, "(slovo1|slovo2)")) ]/@href', namespaces={"re": "http://exslt.org/regular-expressions"})
url = random.choice(list_links)
actions = ActionChains(driver)
actions.click(url)
actions.perform()
#driver.quit()
Говорит:
got an unexpected keyword argument 'namespace'
Где косяк?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB