-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmydriver.py
executable file
·78 lines (55 loc) · 2.07 KB
/
mydriver.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import sys
import configparser
from selenium import webdriver
from lagou import Lagou
import os
sys.path.append(r'C:/Users/willd/Desktop/lagou_selenium')
cf = configparser.ConfigParser()
cf.read("setting.cfg")
driverPath = cf.get("driver", "driverPath").strip().replace("\'", "").replace(r"\n", "")
imgPath = cf.get("driver", "imgPath").strip().replace("\'", "").replace(r"\n", "")
class MyDriver(object):
def __init__(self):
self.imgPath = imgPath
self.driverPath = driverPath
# self.driver = webdriver.PhantomJS()
# abspath = os.path.abspath(r"C:\Program Files\Mozilla Firefox\geckodriver.exe")
self.driver = webdriver.Firefox()
self.myweb = Lagou(self.driver)
def setUp(self, url):
self.driver.get(url)
# 本类变量处理
def setImgPath(self, imgPath):
self.imgPath = imgPath
def setDriverPath(self, driverPath):
self.driverPath = driverPath
def getImgPath(self):
return self.imgPath
def getDriverPath(self):
return self.driverPath
def getDriver(self):
return self.driver
# driver 相关操作
def setOptions(self):
self.driver.maximize_window()
# self.driver.set_window_size(宽,高)
def saveScreenshot(self):
self.driver.get_screenshot_as_file(imgPath)
def quitDriver(self):
self.driver.quit()
# web 通用函数登录操作
def setUserPwd(self, username, password):
self.myweb.setUsername(username)
self.myweb.setPassword(password)
def doSubmit(self):
self.myweb.doSubmit()
def getLoginErrMsg(self):
return self.myweb.getLoginErrMsg()
# web 拉钩其他操作
def doFirstSearch(self, keyword):
self.myweb.firstSearch(keyword)
self.myweb.firstSearchClick()
def doDetailSearch(self, keyword, city, workyear, education, financestage, industryfield, monthsalary):
self.myweb.detailSearch(keyword, city, workyear, education, financestage, industryfield, monthsalary)
def saveDate(self):
self.myweb.saveDate()