2017-10-15 46 views
0

텍스트 파일에서 웹 양식을 채우는 작업을 자동화했습니다. 이 텍스트 파일은 상당히 커질 수 있고 셀레늄 + python3에서 send_keys() 함수를 사용하면 꽤 오래 걸립니다.python 3에서 Selenium의 send_keys보다 빠른 대체 방법이 있습니까?

훨씬 빠른 대안이 있습니까? 복사/붙여 넣기의 작동 방식과 비슷합니까?

이것은 내가 내 스크립트에서 사용하고 방법은 다음과 같습니다

reportFile = open(reportFilePath,'r') 

for line in reportFile.read(): 
    messageElem.send_keys(line) 
reportFile.close() 

나는 온라인으로보고하고 대안하지만 JS에있다. 파일에서 파이썬 3을 사용하여 텍스트를 추가하는 더 빠른 방법을 찾고 있습니다.

+0

당신이 무엇을 요구하고 있는지 불분명합니다. 왜 당신은 라인을 보낼 수있는 동안 당신은 개별 문자를 보낼 수 있으며, 한번에 전체 파일을 변환하고 문자열로 보낼 수도 있습니다. –

+0

Selenium의 Java 및 Javascript 클라이언트 API에서 sendKeys()는 문자열 배열을 인수로 받아 들여 읽습니다. 파일을 줄에 넣고 한 번만 send_keys (줄)를 호출합니다. 또는 하나의 문자열로 파일을 읽은 다음 한 번 send_keys (content)를 호출하십시오. 위의 모든 것이 더 빠르지 않다면 python을 사용하여 컴퓨터에 설치된 텍스트 편집기로 보고서 파일을 열고, 텍스트 편집기에 집중하고, CTRL + A와 CTRL + C를 사용하여 다음 입력 상자에 초점을 맞출 수 있습니다. 페이지, send_keys (CTRL + V) – yong

답변

0

실제로 Visweswaran Nagasivam은 정확했습니다. 문자로 파일을 읽었습니다. 나를 위해 적절한 방법은 readlines() 함수를 사용했을 것입니다 :

#open the report file 
reportFile = open(reportFilePath,'r') 

#iterate over each line of the report file and fill in the message body 
for line in reportFile.**readlines**(): 
    messageElem.send_keys(line) 

#close the file 
reportFile.close()