2016-04-24 83 views
-1

寻找一种方式来解决UnicodeEncodeError:“ASCII”编解码器不能在4位编码字符U“\ u2019”:有序不在范围内(128)机器人框架ASCII码编码

目前我的代码是:

coding: utf-8 
*** Settings *** 
Documentation This is a simple test with Robot Framework 
Suite Setup  Connect To Database pymysql ${DBName} ${DBUser} ${DBPass} ${DBHost} ${DBPort} 
Suite Teardown Disconnect From Database 
Library   Selenium2Library 
Library   DatabaseLibrary 
Library   OperatingSystem 
Library   String 

*** Variables *** 
${DBHost}   localhost 
${DBName}   robottest 
${DBPass}   sahill 
${DBPort}   3306 
${DBUser}   sahill 

*** Test Cases *** 
Open Browser To Start Roboting 
    [Documentation] Sarting robot 
    [Tags] Smoke 
    Open Browser http://movieplus.cc/a-z-movies/ firefox 
    Maximize Browser Window 
    WAIT UNTIL PAGE CONTAINS have any legal issues please contact appropriate media file owners/hosters. 

    Click Element xpath=//div[@class='wrapper']//div[@class='thumbs']//div[@class='wrap']//div[1]//a 
    WAIT UNTIL PAGE CONTAINS have any legal issues please contact appropriate media file owners/hosters. 
    ${count} = Get Matching Xpath Count  xpath=//div[@class='wrap_content']//ul[@class='list']//li 
    ${title} = get text xpath=//div[@class='wrap_content']//h2[@class='title']//span[@class='color'] 
    ${cate} = get text xpath=//div[@class='wrap_content']//ul[@class='list'] 
    ${director} = get text xpath=//div[@class='wrap_content']//div[1]//span[@class='desc'] 
    ${cast} = get text xpath=//div[@class='wrap_content']//div[2]//span[@class='desc'] 
    ${content} = get text xpath=//div[@class='wrap_content']//div[3]//span[@class='description']//p 
    ${image_link} =  Get element attribute xpath=//div[@class='content']//div[@class='wrap_img']//[email protected] 
    Execute SQL String  INSERT INTO test VALUES('${title}', '${cate}', '${director}', '${cast}','${content}', '${image_link}', 'link'); 
    Go Back 

${content}变量此内容商店

A young woman wakes up in the basement of a man who claims he saved her life after pulling her from her overturned car which violently crashed along the highway. The man states that the world above them is no longer safe and is now a danger zone that threatens the rest of humanity. With no knowledge of what actually lies above and trust running thin between them, the woman questions **what’s true and what’s not**. Is the man a delusional psychotic that has a more sinister agenda for her? Or is it really hell on earth above ground like he swears? 
+1

你使用python 2还是python 3? – user312016

+0

Python 2,与python 3机器人框架不工作 – Sahill

+0

我编辑我的答案。 – user312016

回答

0

您正在使用python 2,因此,你的问题是,你有没有在你的文件的开头定义一个适当的编码。

# coding: utf-8 

你可以选择:

  • 把编码头在你的文件
  • 或顶部:

    Use an ascii character for "’", like "'" 
    
+0

感谢您的回复,基本上我使用机器人框架获取内容的系统从网站获取文本关键字,在这种情况下我无法更改“'” – Sahill

+0

@Sahill This是不是我在你的代码中看到的,你能否更新它来提供一个类似于现实世界的例子? – user312016

+0

亲爱的主席先生,我更新了我的问题,现在你看到我的所有代码 – Sahill

0

执行SQL字符串之前,您可以编码内容,如:

${content} = Encode String To Bytes ${content} ASCII errors=replace 

在这种情况下,结果是:... the woman questions what?s true and what?s not. Is the ...

如果忽略错误:

${content} = Encode String To Bytes ${content} ASCII errors=ignore 

结果将是:... the woman questions whats true and whats not. Is the ...

(这将是更容易理解)