标签:wait cap 指定 手机 自动 smis div element vip
一、ActionChains类:提供了一些特殊的动作的模拟,比如鼠标右击,双击,移动鼠标至某元素,鼠标拖拽等。
1 # 点击百度更多产品选项示例 2 from selenium import webdriver 3 driver=webdriver.Firefox(executable_path=r‘D:\BrowserDriver\geckodriver.exe‘) 4 driver.implicitly_wait(5) 5 driver.get(‘http://www.baidu.com‘) 6 # ActionChains类,用于提供特殊动作的一些操作,导入这个包 7 from selenium.webdriver.common.action_chains import ActionChains 8 ac=ActionChains(driver) 9 # move_to_element:鼠标移动到 元素上 10 ac.move_to_element( 11 driver.find_element_by_css_selector(‘[name="tj_briicon"]‘) 12 ).perform()
二、冻结界面
有些网站上的元素,是鼠标悬浮显示出的内容,用selenium自动化点击显示的某图标时,需要f12查看该元素的特征。移开鼠标就无法查看。
对于此,可以在开发者工具栏console中执行: setTimeout(function(){debugger},5000)
表示5000毫秒之后,执行debugger命令。执行后进入debug状态,该特性是界面被冻住。
三、弹出对话框
弹出对话框有三种类型:alert(警告),confirm(确认)、prompt(提示)
1)alert:显示通知信息,只需要模拟用户点击OK即可;
这一操作,selenium提供方法进行:
driver.switch_to.alert.accept()
若要程序获取弹出对话框中的信息内容,通过:
driver.switch_to.alert.text
1 from selenium import webdriver 2 wd=webdriver.Firefox(executable_path=r‘D:\BrowserDriver\geckodriver.exe‘) 3 wd.implicitly_wait(5) 4 wd.get(‘http://cdn1.python3.vip/files/selenium/test4.html‘) 5 wd.find_element_by_id(‘b1‘).click() 6 # wd.switch_to.alert.accept() 同上一句同样意思:模拟用户点击OK按钮 7 # 获取弹出对话框中的信息内容 并打印出来 8 print(wd.switch_to.alert.text)
2)confirm:让用户确认是否要进行某个操作;
confirm由两个选项:OK、Cancel
selenium提供的方法是:
* OK:driver.switch_to.alert.accept()
* Cancel: driver.switch_to.alert.dismiss()
1 from selenium import webdriver 2 wd = webdriver.Firefox(executable_path=r‘D:\BrowserDriver\geckodriver.exe‘) 3 wd.implicitly_wait(5) 4 wd.get(‘http://cdn1.python3.vip/files/selenium/test4.html‘) 5 wd.find_element_by_id(‘b2‘).click() 6 print(wd.switch_to.alert.text) 7 wd.switch_to.alert.accept() 8 wd.find_element_by_id(‘b2‘).click() 9 # 点击取消按钮 10 wd.switch_to.alert.dismiss()
3)prompt : 出现这个需要用户输入一些信息,提交上去。
当需要输入信息时,可以调用 driver.switch_to.alert.send_keys()
1 from selenium import webdriver 2 driver = webdriver.Chrome(r‘D:\BrowserDriver\chromedriver.exe‘) 3 driver.implicitly_wait(5) 4 driver.get(‘http://cdn1.python3.vip/files/selenium/test4.html‘) 5 # --- prompt --- 6 driver.find_element_by_id(‘b3‘).click() 7 # 获取 alert 对象 8 alert = driver.switch_to.alert 9 # 打印 弹出框 提示信息 10 print(alert.text) 11 # 输入信息,并且点击 OK 按钮 提交 12 alert.send_keys(‘web自动化 - selenium‘) 13 alert.accept() 14 # 点击 Cancel 按钮 取消 15 driver.find_element_by_id(‘b3‘).click() 16 alert = driver.switch_to.alert 17 alert.dismiss()
四、窗口控制
获取窗口大小:driver.get_window_size()
改变窗口大小:driver.set_window_size(x,y)
获取当前窗口标题:driver.title()
获取当前窗口URL地址:driver.current_url
截屏: get_screenshot_as_file()
手机模式:desired_capabilities参数,指定一手机模式打开chrome浏览器
上传文件:一般这种上传功能是通过type属性的file的HTML input元素实现的;
selenium需要先定位到该input元素,通过send_keys方法传入要上传的文件路径。
标签:wait cap 指定 手机 自动 smis div element vip
原文地址:https://www.cnblogs.com/Free-Ink/p/12573499.html