2013-05-17 4 views
0

안녕하세요 stackoverflow 사용자. 오늘 나는 내 프로젝트의 작은 부분 일 뿐인 당신의 도움을 요청하고 싶다. 그래서 ... 이미 div에서 텍스트를 가져 오기 위해 Selenium을 사용하는 작은 응용 프로그램을 작성했지만 텍스트는 정적이 아니며 문자 이동과 함께 변경됩니다. (문자가 0.5 초에서 1 평방 이동)변수에 쉼표로 구분 된 이름을 어떻게 할당합니까?

botloc = driver.find_element_by_id('botloc').text 
    print botloc 

내가 이미 루프, 그래서 모든 0,5sec를 업데이트 얻을 수 있습니다 : 나에게 쇼를 보자. 물론 열쇠로 묶는 것이 더 낫다는 것을 압니다.하지만 테스트 단계에서는 루프가 잘 작동합니다.

[예] 일 botloc의 그 모양 출력 :

26,20 

이 실제로 사용 위치로부터 x 및 y, 그래서 다음, x 및 y를 분리하는 세퍼레이터와 같이 그 쉼표를 사용할 나는 그들 각각을 하나의 이름 (def, class, anything)으로 할당 할 수있다.

은 [예] 출력 botloc × 5의를 내 캐릭터처럼 보이는 이동

:, 모든 정사각형지도에 대해

28,20 
28,21 
28,22 
29,22 
30,22 

을 그러니까 기본적으로,하지만 나는 그것을 사용하는 방법 아이디어를 잘 모릅니다, 그래서 나는 간단한 논리와 수학으로 내 자신의 생각을 만들었습니다.

저는 여기에서 정보를 이해하려고합니다 : http://docs.python.org/2/tutorial/inputoutput.html하지만 지금은 숙제를하고 싶습니다.

내가 사용하려고했다 :

firstpart, secondpart = botloc[:len(botloc)/2], botloc[len(botloc)/2:] 

을하지만 내 코드에 포함 후 내 botloc이 (오류, 텍스트가없는, 그냥 흰색)을 작동하지 않고, 분리도 해결할 수있는 가능성 그?

나를위한 새로운 python 학습자를 이해해 주셔서 감사합니다! int 형으로 구분 각 값을 변환마다 행해져 Yout 얻을

>>> botLocations = [] 
>>> botLocations.append(map(int,botloc.split(','))) 
>>> botLocations 
[[28, 20]] 

새로운 botloc 쉼표하여 분할과 : 여러 로봇의 위치를 ​​저장하고 싶다면

+0

해당 설명서의 어떤 부분을 설명하겠습니까? – HennyH

답변

2
>>> botloc="28,20" 
>>> botX,botY = map(int,botloc.split(',')) 
>>> botX,botY 
(28, 20) 

이 작업을 수행 할 수 그것을 botLocations 안에 저장하십시오.


botloc[:len(botloc)/2], botloc[len(botloc)/2:] 

는 botLoc이 고르지 즉 198,2가 있다면 작동하지 않을 것입니다. 대신에 다음과 같이해야합니다.

>>> botloc="28,20" 
>>> botloc[:botloc.index(',')] 
'28' 
>>> botloc[botloc.index(',')+1:] 
'20' 

문자열을 구분하려면 다음과 같이하십시오.

+0

많은 설명과 함께 완벽한 답변 해 주셔서 감사합니다. – Mezulith

+0

@Mezulith 기꺼이 도와주었습니다 :) – HennyH

+0

이미 루프 된 botloc, botX, botY로 테스트 된 def입니다. 그 결과는 완벽합니다 :'>> repeat() 29,16 16'하지만 위치를 저장하는 방법을 모르겠다. 사전과 같은 것을 저장하고 있는가? 수동으로 각 값을 추가해야합니까?아니면 모든 스퀘어에서 캐릭터를 움직여 전체 상점을 구축하기 위해 그 프로세스를 자동화 할 수 있습니까? – Mezulith

관련 문제