강의

멘토링

커뮤니티

Inflearn Community Q&A

hanjoongyoo0652's profile image
hanjoongyoo0652

asked

Python Recipes - Introduction to Web Utilization (including eBook)

[Web Automation] 3. Click up to 50

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

Written on

·

1.4K

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()

이렇게 에러가 뜨네요.

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

python

Answer 2

1

hanjoongyoo0652님의 프로필 이미지
hanjoongyoo0652
Questioner

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

1

soorte2140795님의 프로필 이미지
soorte2140795
Instructor

어 저같은 경우에는 위에 올려주신 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()
hanjoongyoo0652's profile image
hanjoongyoo0652

asked

Ask a question