selenium -1常用

**

八大定位

**
id
name
class name 伪类名定位
tge name 标签名定位
link text 链接文本定位
part lint text 部分链接文本
xpath 路径
css selector css选择定位

关闭

**quit()关闭所有页面 close()关闭当前页面**

(quit清理临时文件,close不会)

**

屏幕

**

w.maximize_window()全屏
w.set_window_size()  设置屏幕大小
w.get_window_size()获取当前页面大小

#下载网页源码 page_source

#wb(已二进制的方法写入)
date1=w.page_source
with open('baidu.html','wb') as f:
    f.write(date1.encode())

保存快照

#w.get_screenshot_as_file('baidu.jpg')

**

读取文件

**

import csv
#找到文件路径 通过(open)打开,申明打开的方式:mode  
编码格式utf-8
csv_file=open(r'D:\untitled1\test_demo_csv',mode='r',encoding='utf-8')
#通过csv包提供读的方法来读取上面的文件
csv_data=csv.reader(csv_file)
#循环遍历输出
for i in csv_data:
   print(i)
#关闭
csv_file.close()

r 读取文件 若文件不存在则保错
a 写文件若文件不存在创建 追加
w 写文件若文件不存在则创建 覆盖
a+ 可读可写 文件不存在创建 追加
w+ 可读可写 文件不存在则创建
r+:可读,可写,文件不存在会报错,写操作时会覆盖

表单

 切换进入表单内部
d.switch_to.frame(d.find_element_by_xpath('/html/body/div[4]/iframe'))
#切换出来,回到最外层
#d.switch_to.default_content()
#切换出来,回到上一层
#d.switch_to.parent_frame()

首先定位下拉框,然后通过下拉菜单来下拉选择选项

Select(dd.find_element_by_name('sel_question')).select_by_value('favorite_food')

页面切换

第一种切换页面
#获取所有窗口页面
 all=d.window_handles #all=['第一个页面','第二个页面']
 进行窗口切换
d.switch_to.window(all[1])
#第二种切换页面
#获取当前页面
a=w.current_window_handle
 #获取所有页面
 all=w.window_handles
for i in all:
	 if i !=a:
	w.switch_to.window(i)

**

``# #警告框处理—》alert

**

 #切换警告框
#d.switch_to.alert.accept()#点了确定按钮
#d.switch_to.alert.dismiss()#点了取消按钮

**

ActionChains鼠标键盘操作

**
#悬停的目标 perform()表示执行

a=d.find_element_by_partial_link_text('更多')
# 悬停---》鼠标事件类
ActionChains(d).move_to_element(a).perform()

**

ActionChains(w).context_click(a).perform()  鼠标右击
ActionChains(w).double_click(a).perform()  鼠标右击

**

#鼠标向下移动6次

#a.send_keys(Keys.DOWN*6,Keys.ENTER)

Keys库 键盘操作(k大写)

w.find_element_by_id('kw').send_keys(Keys.CONTROL,'c')    注释:(Keys.CONTROL,'c')---- ctrl+c

#路径

 # 获取上级路径  D:\untitled1
 b=os.path.abspath(os.path.dirname(os.getcwd()))
 #获取当前路径
 b= os.path.abspath('.')
 #获取上上级路径
 b=os.path.abspath(os.path.join(os.getcwd(), "../.."))

**

滚动 ‘window.scrollTo(x,y)’

**

x为水平拖动距离  y为垂直拖动距离
js='window.scrollTo(0,1000)'
d.execute_script(js)   执行
js= "var q=document.documentElement.scrollTop=n"
n为从顶部往下移动滚动举例   (倒着拖动)

for i in range(100):
    js='window.scrollTo(0,%s)'%(i*100)
    d.execute_script(js)

#等待

显示等待

#需要导入的包
#导入By
from selenium.webdriver.common.by import By
#导入webdriver等待类
from selenium.webdriver.support.ui import WebDriverWait
#导入预期条件设置类
from selenium.webdriver.support import expected_conditions as EC
#浏览器总共等待10秒,在10秒内,每隔0.5秒去使用id的方式定位一下元素,如果定位到,就结束等待,如果定位不到同时没有大于10秒,则继续等待
el = WebDriverWait(driver,10,0.5).until(EC.presence_of_element_located((By.ID,'su')))

隐示等待

d.implicitly_wait(10)

强制等待

time.sleep(3)

**

cookies

**

# 获取cookies,直接调用,不需要参数
data = driver.get_cookies()
print(data)

# 删除所有cookies
driver.delete_all_cookies()

# 设置cookies
cookie = {"name":"itcast","value":"soft_test"}
driver.add_cookie(cookie)

# 获取
data1 = driver.get_cookies()
print(data1)

#文件读取某一行 .txt

#读取
file=open(r'zhmm.txt',"r")
dd=len(file.readlines())
#随机
a=random.randrange(1,dd)
#读取某一行
bb=linecache.getline('zhmm.txt',a)
判断txt文档 是不是空行
第一种
bb=linecache.getline('zhmm',a)
line = bb.strip()
if line==''
-------------------
第二种
bb=='/n'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值