Golang因其強大的協程機制,現已普遍應用於解決分佈式環境下的高併發問題。本門課程中將結合Etcd與MongoDB實現一個基於Master-Worker分佈式架構的任務調度系統。你不只將掌握Golang的工程實踐能力,並且會收穫諸如CAP、Raft的分佈式經典理論與架構經驗,」工程能力」與」知識體系」齊頭並進,實現華麗質變。html
適合人羣
但願轉型Go語言開發的同窗
須要提高Go語言的開發經驗的同窗python
技術儲備要求
熟悉Go語言基礎語法,具有必定開發經驗更佳
瞭解Linux Shell、Github、MySQL的簡單用法
import time
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import Byweb
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("http://www.baidu.com")架構
ac = ActionChains(driver)併發
ele = driver.find_element_by_xpath('//span[@id="s-usersetting-top"]')app
ac.move_to_element(ele) # 懸浮操做分佈式
ac.perform()ide
wait = WebDriverWait(driver, 10)
loc = (By.XPATH, '//a[@class="setpref"]')
wait.until(EC.visibility_of_element_located(loc))
driver.find_element(*loc).click()
time.sleep(2)
driver.quit()
def move_to():
print("正在挪動")
def click():
print('點擊')
actions = []
actions.append(move_to)
actions.append(click)
for action in actions: # perform高併發
action()
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys性能
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("http://www.baidu.com")
driver.find_element_by_id('kw').send_keys("selenium") # 沒有點擊百度一下也沒有回車不會呈現搜索結果
time.sleep(2)
driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'a') # 全選而後輸入新內容python
driver.find_element_by_id('kw').send_keys('python', Keys.ENTER) # 用回車替代點擊搜索按鈕
time.sleep(2)
time.sleep(2)
driver.quit()
<html>
<head>
<meta charset="UTF-8">
<title>下拉框演示</title>
</head>
<body>
<select id="province">
<option value="sj">深圳</option>
<option value="gd">廣東</option>
<option value="sh">上海</option>
<option value="bj">北京</option>
</select>
<select id="city">
<option value="sj">深圳</option>
<option value="gz">廣州</option>
<option value="sh">上海</option>
<option value="bj">北京</option>
</select>
</body>
</html>
演示代碼以下:
import time
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support.ui import Select
driver = webdriver.Chrome()
driver.maximize_window()
driver.get(r"D:\learn\test.html")
wait = WebDriverWait(driver, 10)
ele = driver.find_element_by_id('province')
s = Select(ele)
time.sleep(1)
s.select_by_value('gd') # 通過value屬性選值
time.sleep(2)
s.select_by_index(2) # 通過下標index選值
time.sleep(2)
s.select_by_visible_text('北京') # 通過文本內容選值
time.sleep(2)
driver.quit()
import time
import datetime
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("https://www.12306.cn/")
wait = WebDriverWait(driver, 30)
loc = (By.XPATH, '//input[@id="train_date"]')
wait.until(EC.visibility_of_element_located(loc))
js = 'document.getElementById("train_date").readOnly=false;'
driver.execute_script(js)
time.sleep(2)
driver.find_element(*loc).clear()today = datetime.date.today()tomorrow = today + datetime.timedelta(days=1)driver.find_element_by_id('train_date').send_keys(str(tomorrow))time.sleep(2)driver.quit()