StoryCode

'전체 글'에 해당되는 글 563건

  1. Instance 생성하기
  2. iOS Chat based Firebase
  3. WebCrawl.py

Instance 생성하기

Google/Google Cloud Platform
반응형

1) cloud.google.com 에 접속해서 무료로 사용해보기를 클릭한다.

그럼 $300 를 준다.



2)  Compute Engine > VM Instance 를 클릭한다.


3) Create 를 클릭한다.


4) Name 부터 설정을 변경하면, 우측에 비용이 바뀌니 참조해가며 변경한다.

추후에 변경가능하니 처음에는 작은 걸로 시작한다.


Boot disk 는 Debian, Centos, Ubuntu, Windows 등이 있다.

Region 은 Cloud 서버가 있는 위치다. 그리고 위치에 따라 가격 다르다.

아무래도 Tokyo 면 접속 속도가 빠르리라 생각된다.


Windows 는 server 2016 버전을 사용 권장.


Firewall 은 HTTP 와 HTTPS 모두 허용.




이렇게 하니 월 예상비용이 $24.67 이다.

Create 를 클릭해서 VM Instrance 를 생성한다.


5) Window 면, 생성후에 대시보드 > VM 에서 RDP 암호를 꼭 설정해야 함.


반응형

'Google > Google Cloud Platform' 카테고리의 다른 글

SSH 접속  (0) 2018.06.02

iOS Chat based Firebase

iOS/Firebase Chat
반응형

[ 참조 ] https://github.com/Hpark11/firebaseChatTest

https://github.com/Hpark11/firebaseChatTest


[ 2017-509 ]

반응형

'iOS > Firebase Chat' 카테고리의 다른 글

Firebase App 추가  (0) 2018.06.04

WebCrawl.py

Web Automation Test Tool
반응형

from selenium import webdriver

from selenium.webdriver.common.by import By


# WebDriverWait는 Selenium 2.4.0 이후 부터 사용 가능합니다.

from selenium.webdriver.support.ui import WebDriverWait


# expected_conditions는 Selenium 2.26.0 이후 부터 사용 가능합니다.

from selenium.webdriver.support import expected_conditions as EC


from bs4 import BeautifulSoup










driver = webdriver.Chrome('chromedriver.exe')

# 브라우저가 무조건 3초 기다림.

driver.implicitly_wait(5)















driver.get('http://www.t.net')

# 특정 개체가 나올때까지 10초간 대기 ( 로그인전 )

try:

WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@id="loginli"]/a')))

finally:

driver.find_element_by_xpath('//*[@id="loginli"]/a').click()


driver.find_element_by_xpath('//*[@id="loginli"]/a').click()

driver.find_element_by_name('memberid').send_keys('아이디')

driver.find_element_by_name('memberpwd').send_keys('비밀번호')

driver.find_element_by_xpath('//*[@id="btn_login"]').click()


# 특정 개체가 나올때까지 10초간 대기 ( 로그인후 )

try:

WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@id="login_div2"]/li[3]/a')))

finally:

print("")












driver.get("http://www.t.net/math/main.jsp")


try:

# 중요 : frame 안의 frame 은 최상위부터 차례대로 하나씩 내려가야 한다.

driver.switch_to_default_content()


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'main')))

driver.switch_to_frame(driver.find_element_by_name("main"))


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'middleFrame')))

driver.switch_to_frame(driver.find_element_by_name("middleFrame"))


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'leftFrame')))

driver.switch_to_frame(driver.find_element_by_name("leftFrame"))


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@id="t_left_menu"]/div[1]/p/span')))

finally:

# 하나만 찾기

membername = driver.find_element_by_xpath('//*[@id="t_left_menu"]/div[1]/p/span')

print(membername.text)








# 여러개 찾기

try:

driver.switch_to_default_content()


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'main')))

driver.switch_to_frame(driver.find_element_by_name("main"))


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'middleFrame')))

driver.switch_to_frame(driver.find_element_by_name("middleFrame"))


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'mainFrame')))

driver.switch_to_frame(driver.find_element_by_name("mainFrame"))


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@id="datatable"]/table')))

finally:

tasklist = driver.find_elements_by_css_selector('#datatable > table > tbody > tr > td > div > div')


for t in tasklist:

print(t.text)



# 동작중에 다른 웹 화면이 가려지거나 하면 오동작도 하는 것 같다.

# 가끔동작하지 않는 경우가 있는데, 왠만한 곳에는 WebDriverWait 을 추가한 후에 액세스하는 것이 좋을 듯 하다.

반응형