Python 简介
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆 于1990 年代初设计,作为一门叫做ABC语言的替代品。 [1] Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, [2] 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
Python语法
输出和输入:
- 输出:
print() - 输入
send_Keys()
查找页面元素
self.driver.find_elementBy.XPATH
python产生随机数
- 随机产生x---y随机数
random.randint(x,y) - 随机产生x---y随机浮点数
random.uniform(x, y) - 随机生成一个大写或小写的英文字母
random.choice(string.ascii_letters) - 随机从ls数组中选2个元素
ls = ["aaa", 1, 'class', 'createrandomsamplesfromlist', 9990] print(random.choice(ls))
控制滑块速度
from retrying import retry
def get_track(distance, t): # distance为传入的总距离,a为加速度
track = []
current = 0
mid = distance * t / (t + 1)
v = 0
while current < distance:
if current < mid:
a = 3
else:
a = -1
v0 = v
v = v0 + a * t
move = v0 * t + 1 / 2 * a * t * t
current += move
track.append(round(move))
return track
def move_to_gap(self, slider, tracks): # slider是要移动的滑块,tracks是要传入的移动轨迹
ActionChains(self.browser).click_and_hold(slider).perform()
for x in tracks:
ActionChains(self.browser).move_by_offset(xoffset=x, yoffset=0).perform()
ActionChains(self.browser).release().perform()
def login(self, username, password):
time1 = [3, 4, 5, 6, 2.1, 2.7, 2.8, 2.9, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7,
3.8, 3.9, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5.0, 5.1, 5.2]
t1 = random.choice(time1)
slider = self.browser.find_element_by_xpath("//span[contains(@class, 'btn_slide')]")
if slider.is_displayed():
self.move_to_gap(slider, get_track(360, t1))
导入其他pthon文件
import
python 声明方法需要传入参数
self
网页字体改为中文
self.fake = Factory().create('zh_CN')
隐藏界面执行
+# self.chrome_options.add_argument('--headless')
截图
from PIL import ImageGrab
im = ImageGrab.grab(bbox=(370,500,680,550))
im.save('imgs/1.png')
滑块的操作
-
按住不动
ActionChains(self.driver).click_and_hold(self.driver.find_element(By.XPATH, '//*[@id="emailReg"]/div/div[3]')).perform() -
滑动指定距离
ActionChains(self.driver).move_by_offset(xoffset=result, yoffset=0).perform() -
松开滑块
ActionChains(self.driver).release().perform()