2、**
from selenium import webdriver
from selenium.webdriver.common.by import by
from selenium.webdriver.support.ui import webdriverwait
from selenium.webdriver.support import expected_conditions as ec
import random
# 開啟問卷主頁,
def parse_page(numzz):
driver = webdriver.chrome()
wait = webdriverwait(driver, 1) # 設定隱式等待時間
driver.get(url) # 開啟url中填寫的位址
# 填寫問卷
# 性別
xpath1 = '//*[@id="div1"]/div[2]/div[%s]' % str(random.randint(1, 2))
answer_1 = driver.find_elements_by_xpath(xpath1)[0]
answer_1.click()
# 大幾
xpath2 = '//*[@id="div2"]/div[2]/div[%s]' % str(random.randint(1, 4))
answer_2 = driver.find_elements_by_xpath(xpath2)[0]
answer_2.click()
# 現在是否戀愛
xpath3 = '//*[@id="div3"]/div[2]/div[%s]' % str(random.randint(1, 2))
answer_3 = driver.find_elements_by_xpath(xpath3)[0]
answer_3.click()
# 對戀愛的認知
xpath4 = '//*[@id="div4"]/div[2]/div[%s]' % str(random.randint(1, 3))
answer_4 = driver.find_elements_by_xpath(xpath4)[0]
answer_4.click()
# 對戀愛考慮的方面 多選
qlist_5 = [str(x) for x in range(1, 9)]
num = random.randint(2, 3)
alist_5 = random.sample(qlist_5, num) # 從1,8中隨機的選出 2 -> 3項
for i in alist_5:
xpath5 = '//*[@id="div5"]/div[2]/div[%s]' % i
answer_5 = driver.find_elements_by_xpath(xpath5)[0]
answer_5.click()
# 戀愛能接受的尺度 多選
qlist_6 = [str(x) for x in range(1, 5)]
num = random.randint(2, 4)
alist_6 = random.sample(qlist_6, num) # 從1,4中隨機的選出 2 -> 4項
for i in alist_6:
xpath6 = '//*[@id="div6"]/div[2]/div[%s]' % i
answer_6 = driver.find_elements_by_xpath(xpath5)[0]
answer_6.click()
# 維持的因素
xpath7 = '//*[@id="div7"]/div[2]/div[%s]' % str(random.randint(1, 4))
answer_7 = driver.find_elements_by_xpath(xpath7)[0]
answer_7.click()
# 買單
xpath8 = '//*[@id="div8"]/div[2]/div[%s]' % str(random.randint(1, 4))
answer_8 = driver.find_elements_by_xpath(xpath8)[0]
answer_8.click()
# 衝突
xpath9 = '//*[@id="div9"]/div[2]/div[%s]' % str(random.randint(1, 3))
answer_9 = driver.find_elements_by_xpath(xpath9)[0]
answer_9.click()
# 同性戀
xpath10 = '//*[@id="div10"]/div[2]/div[%s]' % str(random.randint(1, 2))
answer_10 = driver.find_elements_by_xpath(xpath10)[0]
answer_10.click()
# 家人看法
xpath11 = '//*[@id="div11"]/div[2]/div[%s]' % str(random.randint(1, 3))
answer_11 = driver.find_elements_by_xpath(xpath11)[0]
answer_11.click()
# 戀愛與婚姻關係
xpath12 = '//*[@id="div12"]/div[2]/div[%s]' % str(random.randint(1, 5))
answer_12 = driver.find_elements_by_xpath(xpath12)[0]
answer_12.click()
# 失戀
xpath13 = '//*[@id="div13"]/div[2]/div[%s]' % str(random.randint(1, 3))
answer_13 = driver.find_elements_by_xpath(xpath13)[0]
answer_13.click()
# 你如何看待異性知己
name_input = wait.until(ec.presence_of_element_located((by.xpath, '//*[@id="q14"]'))) # 使用xpath查詢相應的文字框的定位
name_input.clear() # 清楚可能存在的文字框(比如提示的框框)
name_input.send_keys('這個是我張文琪找人填寫的' + str(numzz) + '次 (*^__^*) 嘻嘻')
# submit
submit = wait.until(ec.presence_of_element_located((by.xpath, '//*[@id="ctlnext"]'))) # 定位提交的所在的位置
submit.click()
# # 清除快取,退出(退出瀏覽器) driver.close() 關閉當前介面
driver.close()
if __name__ == '__main__':
url = ''
for i in range(50000):
parse_page(i)
print('成功' + str(i) + '次')
3、附 selenimu中文文件:
xpath語法:
自動化測試指令碼 測試百度搜尋Selenium
自動化測試指令碼 測試用例 測試步驟 1 啟動瀏覽器 3 定位搜尋輸入框,記錄下輸入框元素的xpath表示式 id kw 6 在搜尋結果列表去判斷是否存在知乎官網這個鏈結 7 退出瀏覽器,結束測試 測試指令碼 import time from selenium import webdriver 開啟...
python元類的使用 python使用元類
原文 type 動態語言和靜態語言最大的不同,就是函式和類的定義,不是編譯時定義的,而是執行時動態建立的。比方說我們要定義乙個hello的class,就寫乙個hello.py模組 當python直譯器載入hello模組時,就會依次執行該模組的所有語句,執行結果就是動態建立出乙個hello的class...
Python精通 Python函式使用
在程式設計意義上的函式其實是指完成某種操作的 塊,當然這個是個人的理解,但是這個概念在所有的程式語言中都是通用的。這個 塊用來完成某寫特定的操作。但是在數學上的函式卻是表示某種對應關係,這兩者之間還是有一定的區別的。但是在某種角度上講我們所程式設計的這種 塊其實就是表示的是引數與返回值之間的關係。從...