TA的每日心情 | 无聊 4 天前 |
---|
签到天数: 530 天 连续签到: 2 天 [LV.9]测试副司令
|
1测试积点
项目现在需要python做在线截屏,登陆页面截图是正常尺寸1500-2000(有时候尺寸会不一样,不只为何产生),但是登陆进去后尺寸宽度瞬间变到10015。拉宽了5倍,请问下我可以固定这个尺寸吗。
目前采用了两个方法没有生效,
第一个:driver设置了尺寸,1920x1080,但是两个页面似乎都不生效,无论怎么改都不行,宽度小于500后,还会让click方法报错。
第二个:用了PIL.Image去调整尺寸和分辨率,但是它也只是缩放了图片,分辨率还是以前的。
[color=rgba(0, 0, 0, 0.75)]左边是登陆页面,右边是登陆后的
代码如下 - # 调用环境变量指定的PhantomJS浏览器,创建浏览器对象
- driver = webdriver.PhantomJS(executable_path="./phantomjs-2.1.1-macosx/bin/phantomjs",
- service_args=['--ignore-ssl-errors=true', '--ssl-protocol=any',
- '--web-security=false'])
- now = time.time()
- currentTime = now
- # 设置屏幕大小,防止click找不到id
- driver.set_window_size(1920, 1080)
- driver.maximize_window()
- # driver.set_window_size(500, 1080)
- # 设置超时时间,防止已经加载完毕依然在等待(get与click操作等待时长超过1分钟)
- driver.set_page_load_timeout(2)
-
- # 开始访问页面
- try:
- driver.get(target["url"])
- except TimeoutException:
- driver.execute_script("window.stop")
- now = time.time()
- print("耗时:" + str(now - currentTime))
- currentTime = now
- time.sleep(2)
-
- # 登陆页面截图
- driver.save_screenshot("./pic/waf/waf_login_empty.png")
-
- # 输入用户名密码
- driver.find_element_by_id(target["usernameId"]).send_keys(target["username"])
- # time.sleep(4)
- driver.find_element_by_id(target["passwordId"]).send_keys(target["password"])
- driver.save_screenshot("./pic/waf/waf_login.png")
-
- # 点击登录
- ele = driver.find_element_by_id(target["loginId"])
- now = time.time()
- print("获取login耗时:" + str(now - currentTime))
- currentTime = now
-
- try:
- ele.click()
- except TimeoutException:
- driver.execute_script("window.stop")
-
- now = time.time()
- print("click耗时:" + str(now - currentTime))
- currentTime = now
- # driver.find_element_by_xpath("//input[@id='loginButton' and @class='submit'] ").click()
- # driver.find_element_by_xpath('//*[@id="' + target["loginId"] + '"]').click()
-
- time.sleep(2)
-
- # 获取新的页面快照
- try:
- driver.get(target["url"])
- except TimeoutException:
- driver.execute_script("window.stop")
-
- driver.save_screenshot("./pic/waf/index.png")
- # 设置图片尺寸
- indexImage = Image.open("./pic/waf/index.png")
- (x, y) = indexImage.size
- x_s = 2304
- y_s = int(y * x_s / x)
- indexImage.resize((x_s, y_s), Image.ANTIALIAS).save("./pic/waf/index1.png", dpi=(x_s, y_s))
- now = time.time()
- print("图片设置大小耗时:" + str(now - currentTime))
-
- # 截图相关图片
- dataInfo = target["dataInfo"]
- equ = target["equ"]
- # driver.set_window_size(600, 1080)
- for di in dataInfo:
- for d in di:
- try:
- driver.find_element_by_id(d).click()
- except TimeoutException:
- driver.execute_script("window.stop")
- time.sleep(2)
- driver.save_screenshot(equ.value["picPath"] + "/wafversion.png")
-
- # 打印网页渲染后的源代码
- # print(driver.page_source)
- # 获取当前页面的cookie
- print("cookie:")
- print(driver.get_cookies())
-
- return True;
复制代码
|
|