2017-12-24 33 views
2

나는 스코 퍼스 웹 사이트에서 의무적으로 수집 한 데이터입니다. 내 산출물이 "문서"라는 목록에 저장되었습니다. 나는이 목록의 각 요소에 대해 입력 방법을 사용할 때, 파이썬은 나에게이 클래스 반환셀레늄 웹 요소를 파이썬의 문자열 목록으로 변환합니다.

이 문제를 해결하기 위해 continius에서
"<class'selenium.webdriver.firefox.webelement.FirefoxWebElement'>" 

, 내가 사용한 텍스트 방법 등이 : document=driver.find_elements_by_tag_name('td')

for i in document: 
    print i.text 

그래서 텍스트 형식으로 결과를 볼 수 있습니다. 내가 독립적으로리스트의 각 요소를 호출 할 때, 공백은이 코드에 인쇄되어 있습니다 :

x=[] 
for i in document: 
    x.append(i.text) 

print (x[2]) 공백을 반환합니다. 어떻게해야합니까?

document=driver.find_elements_by_tag_name('td') 

하고 콘솔에 출력을 참조하십시오 :

"<class'selenium.webdriver.firefox.webelement.FirefoxWebElement'>" 

을이 Selenium 인쇄의 기준으로 예상 된 동작입니다 다음 코드 줄을 사용 것처럼

+0

현재 및 원하는 출력은 무엇입니까? 같은 HTML 코드 샘플을 공유 할 수 있습니까? – Andersson

+0

'x.append (i.text.strip())'을 사용해 보시지 않겠습니까? 텍스트가 없거나 일부 공백이있는 요소를 가질 수 있습니다. –

+0

그 결과 내 출력의 일부는 다음과 같습니다 : [u '', u '', u '', u '', u '', u '', u '', u ' 고밀도의 견고한 산업용 무선 네트워크의 대규모 계획을위한 효율적인 유전자 알고리즘 'u'Gong, X., Plets, D., u' ', u' ', u' ', Tanghe, E ...] –

답변

1

Nodes과 일치합니다.

x=[] 
document = driver.find_elements_by_tag_name('td') 
for i in document : 
    if (i.get_attribute("innerHTML") != "null") : 
    x.append(i.get_attribute("innerHTML")) 
print(x[2]) 
+0

여전히 문제는 남아 있습니다. 또한이 코드에서 또 다른 문제가 발생합니다. –

+0

지금 당신의 쟁점은 무엇입니까? 코드를 사용해 보셨습니까? 여러분의 질문에서''을 긁어 내려고 왜 다른 많은 자식 태그와'text' 태그를 포함해야하는지 명확하지 않습니다. – DebanjanB

1

내 코드가 정확했다 : 당신의 Code Attempt 당으로

white spaces 다음과 같은 코드 블록을 사용하여 밖으로 떠나는 텍스트를 인쇄합니다. 그러나, 표시를 위해 선택된 요소는 공간이었습니다. 다른 요소를 선택하면 결과가 표시됩니다.