栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

web定位元素和脚本

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

web定位元素和脚本

Selenium API高级
多标签之间的切换
场景:有的时候点击一个链接,新页面并非由当前页面跳转过去,而是新开一个页面打开这种情况下,计算机需要识别多标签或窗口的情况

(1)获取所有窗口的句柄

(2)过窗口的句柄进入的窗口
driver.switch_to.window(handles[n])
通过窗口句柄激活进入某一窗口
58同城租房信息:http://bj.58.com

多表单切换
在网页中,表单嵌套是很常见的情况,尤其是在登录的场景
(1)什么是多表单?
实际上就是使用iframe/frame,引用了其他页面的链接真正的页面数据并没有出现在当前源码中,但是在浏览器中我们看到简单理解可 使 页面中开了一个窗口显示另一个页面
(2)处理方法
直接使用id值切换进表单
driver.switch_to.frame(value)/driver.switch_to_frame(value)
定位到表单元素,再切换进入
el = driver.find_element_by_xxx(value)
driver.switch_to.frame(el) /driver.switch_to_frame(el)

 
from  selenium import  webdriver
import time
 
driver = webdriver.Firefox()
url = 'https://bj.58.com/'
driver.get(url)
el = driver.find_element_by_link_text('租房')
time.sleep(5)
print('点击前手柄:',driver.window_handles)      
print('点击url:',driver.current_url)
el.click()
print('点击后手柄:',driver.window_handles)   
print('点击后url:',driver.current_url)
time.sleep(5)
driver.close()         

弹出框操作
进入到弹出框中

driver.switch_to.alert

接收警告

accept()

解散警告

dismiss()

from selenium import webdriver
import time

driver = webdriver.Firefox()
driver.maximize_window()

url = ‘http://baidu.com/’
driver.get(url)

el = driver.find_element_by_link_text(‘设置’)

time.sleep(2)
el.click()

el_set = driver.find_element_by_css_selector(‘.setpref’)

time.sleep(3)
el_set.click()

el_save = driver.find_element_by_css_selector(‘.prefpanelgo’)

time.sleep(2)
el_save.click()

driver.switch_to.alert.dismiss()
time.sleep(2)
driver.close()

练习使用键盘
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
创建浏览器对象
driver = webdriver.Firefox()

定位到搜索框
time.sleep(2)
el = driver.find_element_by_class_name(‘b_searchbox’)
time.sleep(2)
输入内容
el.send_keys(‘selenium’)

键盘操作

el.send_keys(Keys.CONTROL,‘v’)
#清空操作
time.sleep(2)
el.clear()
#输入操作
time.sleep(2)
el.send_keys(‘seleniumn’)
删除操作
time.sleep(2)
el.send_keys(Keys.BACK_SPACE)
time.sleep(2)
driver.quit()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/931531.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号