안녕하세요 python selenium 실습중인데 왜 랜덤함수가 작동하지 않을까요?

#만약에 박지성이 처음 나오면 계속 박지성만 나오게 됩니다.
#이유가 뭘까요??
# -*- coding: utf-8 -*-
"""
Created on Tue Apr 23 22:18:31 2019
@author: Administrator
"""
from selenium import webdriver
import time
import random
# 구분값
serch_num = random.randrange(0,2)
time_serch = random.randrange(0,2)
def serch_names(item):
babo = driver.find_element_by_id("query")
babo.send_keys(item)
babo = driver.find_element_by_id("search_btn")
babo.click()
return item
for x in range(10):
# 검색창 검색
driver = webdriver.Chrome('C:\chromedriver.exe')
driver.get('http://www.naver.com')
if serch_num == 0:
serch_names('박지성')
babo = driver.find_element_by_id("nx_query")
time.sleep(time_serch)
babo.send_keys('맨유')
driver.close()
elif serch_num ==1:
serch_names('손흥민')
babo = driver.find_element_by_id("nx_query")
time.sleep(time_serch)
babo.send_keys('토트넘')
driver.close()
elif serch_num ==2:
serch_names('설기현')
babo = driver.find_element_by_id("nx_query")
time.sleep(time_serch)
babo.send_keys('레딩')
driver.close()
안녕하세요 글쓴이입니다.
문제점을 확인해 보니 랜덤 범위가 잘못 된 것같아서 serch_num = random.randrange(0,2) -> serch_num = random.randrange(0,3) 으로 수정하였는데도 원하는 값을 얻을수없었습니다.
방법이 없을까요?
글 쓸 때 텍스트 입력 창에 안내문까지 나왔을 텐데요
글 쓸 때 텍스트 입력 창에 안내문까지 나왔을 텐데요, 코드는 code 태그로 둘러싸 주셔야 들여쓰기가 깨지지 않습니다. 그나마 다른 언어는 들여쓰기가 단지 가독성만 제공할 뿐이지만, 파이썬은 문법 요소라서 본문 코드를 답변하는 사람들이 돌려볼 수가 없네요.
serch_num 값은 randrange를 호출한 그 시점에 딱 결정된 겁니다. for 루프 밖에서 이미 0~2 중 하나로 결정되었고, 루프 안에서 그 값을 사용하니 매번 똑같을 수밖에 없습니다. randrange 호출을 루프 안쪽에서 하세요.
좋은 하루 되세요!
감사합니다!
정말 감사합니다. 답변이 정말 큰도움이 되었습니다. 아직 프로그래밍 공부한지 얼마 되지 않아서요!
말씀하신 내용이 텍스트 양식에서 BBCODE로 작성하면 들여쓰기가 된다는 얘기인가요!?
계속 질문드려서 죄송합니다.
좋은하루되세요! 정말감사합니다.
이 내용은 글 입력시에 자동으로 삭제 됩니다.
이 내용은 글 입력시에 자동으로 삭제 됩니다.
코드 입력 또는 들여쓰기가 필요한 내용의 경우,
<code> tag block 을 이용하여 작성 하십시오.
For code entry or indentation, use the <code> tag block.
<code lang="c">
if ( a != b ) {
printf ("different a and b\n");
} else {
printf ("same a and b\n");
}
</code>
댓글 달기