Python+Selenium自动化学习笔记一

1、打开浏览器

# 自动化初体验  打开Chrome浏览器,打开淘宝首页
from selenium import webdriver  #安装浏览器驱动

url = 'https://www.taobao.com'

# 实例化webdriver, 将浏览器设定为Chrome
webdriver_path = r'D:\LenovoSoftstore\Install\Python\Python39\chromedriver.exe'
browser = webdriver.Chrome(executable_path=webdriver_path)  # chromedriver.exe在python安装目录的话,不用加这个参数
browser.get(url)  # 启动浏览器,打开淘宝首页


2、打开百度首页、定位输入框个按钮元素并输入内容、输入键盘按键以及点击按钮操作

# 打开百度搜索 python

# 导入webdriver类
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
# 定义url
url = 'https://www.baidu.com'
# 实例化webdriver
driver = webdriver.Chrome()
# 打开浏览器,打开url网页
driver.get(url)

# 在元素ID为kw,输入python
baidu_element_input = driver.find_element_by_id('kw')
baidu_element_input.send_keys('Python')
time.sleep(3)

# 删除kw元素中的内容
baidu_element_input.clear()
time.sleep(3)

# 输入其他内容
baidu_element_input.send_keys('filetype:pdf')
baidu_element_input.send_keys(Keys.SPACE)
baidu_element_input.send_keys('Python')
time.sleep(3)

# Ctrl+a 全选内容
baidu_element_input.send_keys(Keys.CONTROL, 'a')
time.sleep(3)

# Ctrl + x 剪切内容
baidu_element_input.send_keys(Keys.CONTROL, 'x')
time.sleep(3)

# Ctal + v 粘贴内容
baidu_element_input.send_keys(Keys.CONTROL, "v")
time.sleep(3)

# 通过回车键,代替单击操作
baidu_element_souSuo = driver.find_element_by_id('su')
baidu_element_souSuo.send_keys(Keys.ENTER)



# 通过元素ID定位元素,并点击
driver.find_element_by_id('su').click()


# 通过元素xpath定位元素,并点击
#driver.find_element_by_xpath('//*[@id="form"]/span[2]').click()
driver.find_element_by_xpath('//*[@id="form"]/span[2]').submit()

3、设置浏览器参数

# 设置浏览器参数

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

url = "https://movie.douban.com/"

# 实例化Option
chrome_options = Options()
# headless 不显示浏览器启动以及执行过程
# chrome_options.add_argument('--headless')
chrome_options.add_argument('lang=zh_cn.UTF-8')
UserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ' \
            '(KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'
chrome_options.add_argument('User-Agent=' + UserAgent)

# 启动流浪器 并设置参数
driver = webdriver.Chrome(options=chrome_options)
# 最大化窗口
driver.maximize_window()
# 最小化窗口
driver.minimize_window()

# 或者设置具体大小
# browser.set_window_size(width, height)

driver.maximize_window()

driver.get(url)

# 获取页面title和源码
print(driver.title)
print(driver.page_source[0:500])

4、使用JS打开新的页面、切换窗口

# 切换不同的网页窗口

from selenium import webdriver
import time

url_baidu = "https://www.baidu.com"
url_soGou = "https://www.sogou.com"

driver = webdriver.Chrome()

driver.get(url_baidu)

# 使用js启用新的窗口
js = 'window.open("https://www.sogou.com");'
driver.execute_script(js)

# 获取当前浏览器的窗口信息
current_window = driver.current_window_handle

# 获取浏览器的全部窗口信息
handles = driver.window_handles

# 设置延时
time.sleep(3)

# 切换窗口
driver.switch_to.window(handles[0])
time.sleep(3)
driver.switch_to.window(handles[1])


5、上传和下载文件

# 上传文件 下载文件

from selenium import webdriver
import time

url = "https://www.baidu.com"
driver = webdriver.Chrome()
driver.get(url)

element_photo = driver.find_element_by_xpath('//*[@id="form"]/span[1]/span[1]').click()

element_upFile = driver.find_element_by_xpath('//*[@id="form"]/div/div[2]/div[2]/input').\
    send_keys(r"C:\Users\15703\Documents\斗罗大陆壁纸.jpg")



# 下载文件
# 设置下载路径
option = webdriver.ChromeOptions()
prefs = {'download.default_directory': 'D:\\'}
option.add_experimental_option('prefs', prefs)

driver_2 = webdriver.Chrome()

driver_2.get("https://pc.weixin.qq.com")
driver_2.maximize_window()

# 点击下载按钮
driver_2.find_element_by_xpath('/html/body/div/div[1]/div/a').click()

6、操作cookie

# cookie操作  读取  添加 删除
from selenium import webdriver
import json

url = "https://www.baidu.com"
driver = webdriver.Chrome()
driver.get(url)

# 获取cookie
all_cookie = driver.get_cookies()
print(all_cookie)  # 返回一个元素是字典的列表

# 保存cookie
f1 = open('cookie.txt', 'w')
f1 .write(json.dumps(all_cookie))
f1.close()

# 获取其中一个
cookie_1 = all_cookie[0]
print(cookie_1)

cookie_1['name'] = 'hahahaha'
print(all_cookie)


# 替换全部cookie
driver.delete_all_cookies()  # 删除当前全部cookie
f2 = open('cookie.txt', 'r')  # 读取新的cookie文件
cookie_new = json.loads(f2.read())
f2.close()
for c in cookie_new:
    driver.add_cookie(c)  # 添加新的cookie
driver.refresh()      # 刷新页面

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值