python实例教程对话框_python实例编写(3)--对话框,多窗口,下拉框,上传文件...

标签:

一.对话框:

例:点击百度的登录,弹出的小窗口

#coding=utf-8

from selenium import webdriver

from time import sleep

dr=webdriver.Chrome()

dr.get("http://www.baidu.com")

#一定要记得设置等待时间,要不然定位不到!!!

dr.find_element_by_link_text("登录").click()

sleep(3)

#思路:二次定位,点击登录后,定位登录的弹出框,用id或class_name都可以!!然后定位登录框的姓名输入框

#login=dr.find_element_by_id("TANGRAM__PSP_8__userName") 直接定位,定位不到!!!!!

#login=dr.find_element_by_class_name("tang-content").find_element_by_name("userName")

login=dr.find_element_by_id("TANGRAM__PSP_8__form").find_element_by_id("TANGRAM__PSP_8__userName")

login.send_keys("17710192039")

dr.find_element_by_name("password").send_keys("a7s5dfg!")

dr.find_element_by_id("TANGRAM__PSP_8__submit").submit()

二.多窗口,从一个页面跳转到另外一个页面

思路:先定位百度登录的句柄,然后跳转到注册页面,点击转到非登录页面的句柄!!!!!

#coding=utf-8

from selenium import webdriver

from time import sleep

dr=webdriver.Chrome()

dr.get("http://passport.baidu.com")

#一定要记得设置等待时间,要不然定位不到!!!

nowhandle=dr.current_window_handle

allhandles0=dr.window_handles

#当前登录页面只有一个句柄

print "现在是登录页面"

print nowhandle

for h in allhandles0:

print h

#跳转到注册页面一共有两个句柄(包含登录页面的)

print "现在进入注册页面"

dr.find_element_by_link_text("立即注册").click()

sleep(3)

allhandles=dr.window_handles

for handle in allhandles:

print handle

for handle in allhandles:

if handle!=nowhandle:

dr.switch_to_window(handle)

sleep(3)

#关闭当前窗口

dr.close()

#转到登录首页

dr.switch_to_window(nowhandle)

三.弹出框处理 alert:使用switch_to_alert()   (accept,dismiss,send_keys)

#coding=utf-8

from selenium import webdriver

from selenium.webdriver.common.action_chains import ActionChains

from time import sleep

dr=webdriver.Chrome()

dr.get("http://www.baidu.com")

#此处为百度页面的设置,涉及下拉框的处理!!!处理思路:一般是两次点击,一次点击弹出下拉框,另一次点击选项,如果是鼠标移动上弹出的用 move_to_element()

#先定位到“设置”

dr.find_element_by_link_text("设置").click()

sleep(3)

sou=dr.find_element_by_class_name("pf")

sou.click()

#ActionChains(dr).move_to_element(sou).perform() 这种的一般用于找父元素,下拉框.子元素,移动到子元素上

sleep(3)

#点击“确定”,用accept()

dr.switch_to_alert().accept()

#点击取消",用dismiss()

dr.switch_to_alert().dismiss()

#输入内容,直接用send_keys()

dr.switch_to_alert().send_keys()

#输出内容

print dr.switch_to_alert().text

四.上传文件,直接定位点击按钮,并send_keys即可(路径必须正确)

upload.html

upload_file

upload_file

uoload.py

#coding=utf-8

from selenium import webdriver

from time import sleep

import os

dr=webdriver.Chrome()

#打开上传文件的页面

file_path=‘file:///‘+os.path.abspath(‘upload.html‘)

dr.get(file_path)

sleep(3)

#点击”选择文件“按钮,

dr.find_element_by_name("file").send_keys(‘D:\\zhihu.cookie.txt‘)

sleep(3)

效果如下:

标签:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值