2011-05-06 2 views
4

현재 웹 사이트 코드를 텍스트 필드에 복사해야하는 곳에서 일해야합니다.textform 채우기 - 문자열이 너무 작습니까?

나는 브라우저 처리를 위해 watir을 사용하고 있습니다. 내가 아는 한, 나는 단지 내가 sitetext 내가 그것으로 복사하고있어 웹 사이트의 코드 인으로

browser.text_field(:id => "text").set sitetext 

같은 것을 할 필요가 있다는 것을 의미 set 기능을 사용하여 필드를 채울 수 있습니다. 파일에서 배열의 코드를로드 한 후 다음 코드를 사용하여 문자열에 밀어 넣었습니다 (아마도 가장 좋은 선택은 아니지만 지금 당장은 가장 쉽습니다). 나는 (이 속도를? 쉬운 방법이있다)하지만, text_field에 모든 문자에, 그것을 천천히 유형을 채우기 위해 첫 번째 명령을 실행할 때

contentArray=Array.new 
inputFile=File.open("my-site.html") 
inputFile.each{|line| contentArray<<line} 
inputFile.close 

지금 692 자 후에는 중간에 정지 문장. [charcounter.com에 입력 한 텍스트를 붙여 넣으면이 번호를 알 수 있습니다.]

어디에서 문제가 발생합니까? 어떤 이유로 루비가 제한된 크기의 문자열을 제공합니까? 어떻게 든이 장벽을들 수 있습니까?

다른 방법으로 text_field를 채울 수 있습니까?

답변

2

는 .value 방법을 시도

browser.text_field(:id => "text").value=(open('my-site.html') { |f| f.read })

또는

내가 움라우트 등의 꼴로 잘못 인쇄를 생각하고

은 컴퓨터의 코드 페이지 설정과 당신이 읽고있는 파일과 함께 할 수있는 뭔가있다 에서. 한 코드 페이지에서 다른 코드 페이지로 실험 해보아야 할 수도 있습니다. 소스 파일이 CP850 또는 UTF-8 인 것 같아요. 움라우트를 얻으려면 서유럽이 필요하다고 생각합니다 ...하지만 호주인은 실제로 없습니다. 아이디어 =) http://en.wikipedia.org/wiki/ISO_8859

예 :

require 'iconv' 

browser.text_field(:id => "text").value=(
    Iconv.iconv('CP850', 'ISO-8859-1', open('my-site.html') { |f| f.read }) 
) 
+0

멋진! 고맙습니다 :-) 유일한 문제는 특정 특수 문자가 잘못된 방식으로 표현된다는 것입니다. HTML 파일에서 그들은 맞지만 text_field에 붙이면 어떻게 든 다른 문자로 변환됩니다 : ( 이 문제를 해결하는 방법을 알고 있습니까? 다시 한 번 감사드립니다! – Sebastian

+0

은 스크린 샷 또는 실제 txt/코드를 제공 할 수 있습니다 –

+0

'require "watir"' 'browser = Watir :: Browser.new' 'browser.goto ("http : //localhost/joomla15/administrator/index.php ":" 'browser.text_field (: name => "username"). "admin"' 'browser.text_field (: name => "passwd") "pass"를 설정하십시오. 'browser.button (: 값 => "Anmelden"). 클릭하십시오 ' 'browser.link (: text => "Neuer Beitrag"). 클릭하십시오' 'browser.maximize' 012 ("name =>"별칭 ")."testbtr "을 설정하십시오. 'browser.link (: title =>'browser.text_field (: name =>"title "). "editor/anus")를 클릭하십시오. ' 'browser.text_field (: id => "text"). 값 = (open ('website.html ') {| f | f.read})' – Sebastian

관련 문제