python3自动化笔记

模块selenium中导入webdriver模块

from selenium import webdriver

导入时间模块

import time

指定浏览器位置(若浏览器发版本与chromedriver.exe下载时的版本相对应,正常能使用则不用指定浏览器位置)
(http://npm.taobao.org/mirrors/chromedriver/对应的谷歌浏览器版本号可在这里查看,下载与自己的浏览器相接近的版本号。)

b = webdriver.ChromeOptions
b.binary_location=r'C:\Program Files\Google\Chrome Dev\Application\chrome.exe'

把chromdriver.exe放在python的根目录下,这样就不用重新配置环境变量了

a = webdriver.Chrome(r'D:\python1\chromedriver.exe')

#访问百度

a.get('http://www.baidu.com/')

#常用命令操作

a.maximize_window()#窗口最大化
a.minimize_window()#窗口最小化
size=a.get_window_size()#指定窗口大小(width,height)
print('当前窗口的宽:', size['width'])#宽
print('当前窗口的高:', size['height'])#高
time.sleep(5)#强制休眠时长
a.quit()#退出窗口

窗口截图

a.get_screenshot_as_file(r'D://aaa/selenium.png')#截图后的保存路径,图片后缀可以改

单元素定位

第一种:id
a.find_element_by_id('kw').send_keys('自动化')
第二种:name
a.find_element_by_name('wd').send_keys("测试")
第三种:class
a.find_element_by_class_name('s_ipt').send_keys("东野圭吾")
第四种:xpath
a.find_element_by_xpath('//*[@id="kw"]').send_keys("英语")
a.find_element_by_xpath('/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input').send_keys("英语")
第五种:css
a.find_element_by_css_selector("#kw").send_keys("中文")  #"#kw"就是id="kw"
a.find_element_by_css_selector(".s_ipt").send_keys("中文")  #".sipt"就是class="s_ipt"
a.find_elements_by_css_selector('[autocomplete="off"]').send_keys("中文")

以上五种需要后面加一条点击动作:如下命令
time.sleep(2)
a.find_element_by_id("su").click()
第六种:link_text
a.find_element_by_link_text("学术").click()
第七种:pertial link_text
a.find_element_by_partial_link_text("学").click()
第八种:tag(一般定位不准,不建议用)
a.find_element_by_tag_name("a").click()

多元素定位

举例子:进入一个网页
a.find_element_by_xpath("/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input").send_keys("bilibili")
time.sleep(3)
a.find_element_by_id("su").click()
time.sleep(3)
多元素定位(利用多元素定位定位要搜索的具体位置)
a.find_elements_by_css_selector('#content_left .c-container>h3>a')[0].click()
'#content_left是id= content_left'
'.c-container>h3>a  是class=.c-container'
'>h3>a  一层一层的进入a位置,就是需要搜索的具体位置'

"#content_left"就是id,“.c-container>h3>a”就是class
time.sleep(3)
进入多元素定位之后想要继续点击新页面的动作,需要切换窗口,因为代码运行还在原来的窗口,需要切换到新窗口页面

#窗口切换
windows=a.window_handles
#切换到新的窗口
a.switch_to.window(windows[-1])
#a.find_elements_by_css_selector('#content_left .video_list_container content_default content1>a')[1].click()
'两者也可以结合在一块写'

切换窗口之后可以继续点击当前页面的位置

a.find_element_by_xpath('/html/body/div/div[4]/div[2]/div/div[1]/div/a').click()
time.sleep(15)
a.quit()

输入框清空再重新输入

a.find_element_by_xpath("/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input").send_keys("bilibili")
a.find_element_by_id("su").click()
time.sleep(3)
a.find_element_by_id("kw").clear()    #清空输入框
time.sleep(3)

a.find_element_by_id("kw").send_keys("腾讯视频")
a.find_elements_by_class_name("s_ipt").send_keys("腾讯视频")#会报错
a.find_element_by_name(" wd").send_keys("腾讯视频")
a.find_element_by_xpath("/html/body/div[1]/div[1]/div/div[1]/div/form/span[1]/input").send_keys("腾讯视频")


#第二个xpath的路径不是原来的那个路径是第二个页面的路径
a.find_element_by_id("su").click()
time.sleep(5)
a.quit()

上传文件

a.find_element_by_css_selector('[class="soutu-btn"]').click()
'百度的搜索那里的上传照片,先点击那个照相机的图案'
a.find_element_by_css_selector('[class="upload-pic"]'). 
'然后点击上传按钮'
send_keys(r'C:\Users\Administrator\Desktop\666.jpg')
'把当地的图片位置上传到百度,经行搜索'
time.sleep(10)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值