dea23
Янв. 21, 2014 09:49:56
Доброго времени суток! Относительно недавно познакомился со средой Python и Selenium, вот потребовалось решить такие 2 задачи:
1. Есть поле для ввода на странице с id = “fr-Имя”. В это поле необходимо ввести данные, но когда я прописываю “driver.find_element_by_xpath(”//input…']“).send_keys('Имя')”, выходит соответственно ошибка UnicodeDecodeError: ‘utf8’ codec can't decode byte 0x97 in position 17: unexpected code byte. Как подружить питон с кириллицей?
2. Есть элемент - ссылка “Выход”, на которую нужно кликнуть, но прописан этот элемент следующим образом -
<div class=“log”>
<div>
Выход
</div>
</div>
Как к нему обратиться не могу понять.
Очень буду благодарен Вашим ответам, спасибо!
skavans
Янв. 23, 2014 00:42:03
1. Указать литеру u перед строкой.
driver.find_element_by_xpath("//input…").send_keys(u'Имя')
2. Стоит почитать подробнее про CSS-селекторы и XPATH. 2 варианта:
driver.find_element_by_css_selector('div.log div')
или
driver.find_element_by_xpath('//div[@class="log"]/div')
dea23
Янв. 23, 2014 05:31:05
skavans
Спасибо огромное за помощь!
dea23
Янв. 24, 2014 07:26:56
skavans
все равно при обращении к id в кириллице ругается - UnicodeDecodeError: ‘utf8’ codec can't decode byte 0x97 in position 17: unexpected code byte
malya
Янв. 24, 2014 13:34:18
Вы продублировали темуВы все сделали как я Вам написал.
skavans
Янв. 25, 2014 16:52:06
Если у вас еще и ID содержит кириллицу (что странно), тогда попробуйте
u подставить еще и перед селектором.
driver.find_element_by_xpath(u"#fr-Имя").send_keys(u'Имя')