• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

http://zzzscore.com/memory/ 에 적용했을 때,

19.06.27 15:14 작성 조회수 1k

2

from selenium import webdriver
import time

driver = webdriver.Chrome('chromedriver')
driver.get('http://zzzscore.com/memory/')
driver.implicitly_wait(300)

time.sleep(5)

btns=driver.find_element_by_xpath('//*[@id="grid"]/div[*]')
print(len(btns))

해당 게임 사이트에 기억력/순발력 테스트가 있길래 배운내용을 적용해보려고 했습니다.

1to50과 같이 xpath가 같은 형식이고 div태그 안에 내용이 있길래 저렇게 코드를 짰는데요.

btns에 제대로 내용이 안담기는 것 같습니다.

Traceback (most recent call last):
  File "C:/Users/user/Desktop/hotch/02 selenium/fast.py", line 11, in <module>
    print(len(btns))
TypeError: object of type 'WebElement' has no len()

이렇게 에러가 뜨네요.

혹시 가능하시다면 해당 페이지의 버튼을 가져오는 방법을 가르쳐주실수 있으신가요?

답변 2

·

답변을 작성해보세요.

1

한준규님의 프로필

한준규

질문자

2019.07.01

.find_elements_by_xpah에서 해당 xpath를 모두 추출하기위해서 s를 붙였어야하는데 빠트렸네요.. 감사합니다!

1

어 저같은 경우에는 위에 올려주신 xpath로 잡혔습니다. 제가 테스트한 코드를 공유해드릴게요.

저는 출력결과가 16으로 나왔습니다.

from selenium import webdriver

driver = webdriver.Chrome('chromedriver')
driver.get('http://zzzscore.com/memory/')
driver.implicitly_wait(300)

def clickBtn():
    btns = driver.find_elements_by_xpath('//*[@id="grid"]/div[*]')
    print(len(btns))

clickBtn()