我使用Selenium Webdriver和python在網站上運行測試。在python上發送帶有Selenium Webdriver的unicode
蟒蛇2.7.2與最新的硒
我無法弄清楚如何發送Unicode,如德國的「Umlaute」(öäüß)的輸入形式。據我所知,webdriver可以處理unicode,所以這可能是一個python問題。
# -*- coding: iso-8859-1 -*-
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.google.de")
i = u"hälp me"
driver.find_element_by_css_selector("INPUT[name=\"q\"]").send_keys(i)
這工作沒有錯誤,但不發送「ä」。是否需要進一步的編碼/解碼...?
乾杯
假定HTML頁面有編碼;在調用'.send_keys()'之前可以將輸入編碼爲該編碼? 'google.de'它被編碼爲'ISO-8859-1',因此請嘗試'.send_keys(i.encode('latin1')'。 –
它發送的是什麼而不是ä標誌? –
它不發送任何內容,而不發送ä。如果google.de在ISO-8859-1上運行,我應該用'i =「hälpme」''好,因爲我的文件是編碼的'# - * - coding:iso-8859-1 - * - '但是會拋出一個錯誤'UnicodeDecodeError:'utf8'編解碼器無法解碼位置0中的字節0x8a:無效的起始字節'.i.encode(「latin1」)'也不起作用 - 同樣的錯誤 – ananda