<jupyter_start><jupyter_text>Selenium    - 브라우저를 직접 실행하여 자동화하고 브라우저상에 있는 데이터를 수집    - 웹 테스트 자동화를 위해서 만들어진 라이브러리    - 다양한 브라우저 지원    - 다양한 언어를 지원  설정 - selenium driver     - chrome driver download     - driver version         - chromedriver file -> /usr/local/bin copy - selenium python package     - sudo pip install selenium     - conda install -c conda-forge selenium<jupyter_code>from selenium import webdriver
chromedriver = './chromedriver'
driver = webdriver.Chrome(chromedriver)
# 페이지이동

driver.get('https://daum.net')
# 윈도우 사이즈 조절

driver.set_window_size(800,600)
# 스크롤 위치 조절

driver.execute_script('window.scrollTo(200,300);')
# alert 다루기

driver.execute_script("alert('FastCampus!');")
alert = driver.switch_to_alert()
alert.accept()
# input tag
# driver.find_element_by_css_selector
# driver.find_elements_by_css_selector

driver.find_element_by_css_selector('#q').send_keys('<NAME>')
driver.find_element_by_css_selector('#q').clear()
driver.find_element_by_css_selector('#q').send_keys('코로나')
# button click

driver.find_element_by_css_selector('.inner_search > .btn_search').click()
# 드라이버 종료

driver.quit()<jupyter_output><empty_output><jupyter_text>naver<jupyter_code>driver = webdriver.Chrome(chromedriver)
driver.get('https://naver.com')
driver.set_window_size(1000,1000)
driver.find_element_by_css_selector('#query').send_keys('코로나') 
driver.find_element_by_css_selector('#sform .sch_smit').click()
driver.quit()<jupyter_output><empty_output><jupyter_text>Darksky api 키 재발급 자동화 - https://darksky.net/dev<jupyter_code># 브라우저 열기

driver = webdriver.Chrome(chromedriver)
# 로그인 페이지 이동

driver.get('https://darksky.net/dev/login')
# 이메일, 패스워드 입력 

email = " "
pw = ' '

driver.find_element_by_css_selector('#email').send_keys(email)
driver.find_element_by_css_selector('#password').send_keys(pw)
# 로그인 버튼 클릭

driver.find_element_by_css_selector('.row .form-last').click()
# 리셋 시크릿 버튼 클릭

driver.find_element_by_css_selector('[type = "submit"]').click()
# alert 버튼 클릭

alert = driver.switch_to_alert()
alert.accept()
# 바뀐 key값 출력

s_key = driver.find_element_by_css_selector('#api-key').get_attribute("value")
# 브라우저 종료

driver.quit()
def darksky_login (id, pw):
    driver = webdriver.Chrome(chromedriver)
    driver.get('https://darksky.net/dev/login')
    driver.find_element_by_css_selector('#email').send_keys(id)
    driver.find_element_by_css_selector('#password').send_keys(pw)
    driver.find_element_by_css_selector('.row .form-last').click()
    driver.find_element_by_css_selector('[type = "submit"]').click()
    alert = driver.switch_to_alert()
    alert.accept()
    s_key = driver.find_element_by_css_selector('#api-key').get_attribute("value")
    driver.quit()
    return s_key<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.13810741687979539, 'fraction_numerical': 0.007307270734380708, 'mean_word_length': 5.678048780487805, 'pattern_counts': {'":': 0, '<': 14, '<?xml version=': 0, '>': 16, 'https://': 5, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '554558', 'license': 'MIT', 'n_tokens_mistral': 1153, 'n_tokens_neox': 1259, 'n_words': 155, 'path': 'Crawling/06_selenium_1.ipynb', 'repo_name': 'CATERINA-SEUL/TIL', 'size': '2742'}