Selenium API

import time

from selenium import webdriver
driver=webdriver.Firefox()
# driver.maximize_window()窗口最大化
# print(driver.get_window_size())浏览器窗口尺寸
# driver.set_window_size(width=1000,height=780)设置浏览器窗口尺寸
# print(driver.get_window_position())获取浏览器位置
# driver.set_window_position(x=100,y=100)设置浏览器位置
# driver.get("http://www.baidu.com")打开百度
# driver.find_element_by_css_selector("a.mnav:nth-child(1)").click()点击
# time.sleep(4)等待四秒
# driver.quit()关闭浏览器所有页面
# driver.close()关闭当前页面
# driver.refresh()刷新
# driver.back()回退
# driver.forward()前进
# print(driver.current_url)获取当前网址

# 截图1
# data=driver.get_screenshot_as_png()
# with open("1.png","wb") as f:
#     f.write(data)

# 截图2
# driver.get_screenshot_as_file("1.png")

通过class定位

from selenium import webdriver
from selenium.webdriver.common.by import By


driver=webdriver.Firefox()
#通过class定位
driver.get("http://www.baidu.com")
ele=driver.find_element_by_class_name("s_ipt")#定位输入框
ele.send_keys("sb")#输入内容
ele.clear()#清空内容

 多窗口切换

#多窗口切换
from selenium import webdriver
import time  #强制等待
driver = webdriver.Chrome(r"C:\Users\23053\AppData\Local\Google\Chrome\Application\chromedriver.exe")  #打开谷歌游览器
driver.maximize_window()   #最大化窗口
driver.get("http://bj.58.com")   #访问58
driver.implicitly_wait(30)    #隐式等待  在30秒内当前界面所有的元素全部加载完成
dyg = driver.window_handles
print("点击之前:",dyg)
#定位租房元素
zf = driver.find_element_by_xpath('/html/body/div[3]/div[1]/div[1]/div/div[1]/div[1]/span[1]/a')
zf.click()    #点击租房
dyg1 = driver.window_handles
print("点击之后:",dyg1)
#实现窗口的跳转
driver.switch_to.window(driver.window_handles[1])
###########################定位第二个窗口的元素############################
print("###########################定位第二个窗口的元素############################")
#定位昌平元素
cp=driver.find_element_by_xpath('/html/body/div[5]/div[2]/div[2]/dl[1]/dd/a[4]')
cp.click()
#定位沙河
sh = driver.find_element_by_xpath('/html/body/div[5]/div[2]/div[2]/dl[1]/dd/div/a[15]')
sh.click()
#获取价格的首先
jg1 = driver.find_element_by_xpath('//*[@id="secitem-rent"]/dd/span/span[1]/input')
jg1.send_keys(2000)
jg2 = driver.find_element_by_xpath('//*[@id="secitem-rent"]/dd/span/span[3]/input')
jg2.send_keys(3000)
#点击价格刷选
# driver.find_element_by_xpath('//*[@id="secitem-rent"]/dd/span/span[5]/a').click()
sx = driver.find_element_by_xpath('//*[@id="secitem-rent"]/dd/span/span[5]/a')
sx.click()
#点击商品
driver.find_element_by_xpath('//*[@id="nav-container"]/ul/li[4]/a').click()
#实现窗口跳转
driver.switch_to.window(driver.window_handles[2])
###########################定位第三个窗口的元素############################
print("###########################定位第三个窗口的元素############################")
#定位大兴
dx = driver.find_element_by_xpath('//*[@id="filter-area-container"]/div[1]/a[6]')
dx.click()

 滚动条操作

from selenium import webdriver
import time
driver = webdriver.Chrome(r"C:\Users\23053\AppData\Local\Google\Chrome\Application\chromedriver.exe")
driver.implicitly_wait(30)
driver.maximize_window()
driver.get("https://bj.58.com/")
time.sleep(2)
# #滚动条拉到底部
# js = "window.scrollTo(0,document.body.scrollHeight)"
# driver.execute_script(js)
# time.sleep(4)
# #滚动条从底部拉到顶部
# js1 = "window.scrollTo(0,0)"
# driver.execute_script(js1)
#定位哈士奇
hsq = driver.find_element_by_xpath('/html/body/div[3]/div[1]/div[1]/div/div[2]/div[3]/a[4]')
driver.execute_script("arguments[0].scrollIntoView();", hsq)
time.sleep(4)
hsq.click()
time.sleep(4)
driver.quit()

表单跳转

from selenium import webdriver
driver = webdriver.Chrome(r"C:\Users\23053\AppData\Local\Google\Chrome\Application\chromedriver.exe")
driver.implicitly_wait(30)
driver.get("https://qzone.qq.com/")    #请问qq空间
driver.maximize_window()
#定位表单
bd = driver.find_element_by_id('login_frame')
#跳转表单
driver.switch_to.frame(bd)
#定位账号密码登录
zhmmdl = driver.find_element_by_xpath('//*[@id="switcher_plogin"]')
zhmmdl.click()
#定位账号
zh = driver.find_element_by_id('u')
zh.clear()
zh.send_keys(766603163)
#定位密码
mm= driver.find_element_by_id('p')
mm.send_keys("lly19891024lly")
#定位授权登录
sqdl = driver.find_element_by_id('login_button')
sqdl.click()

弹框处理

from selenium import webdriver
import time
driver = webdriver.Chrome(r"C:\Users\23053\AppData\Local\Google\Chrome\Application\chromedriver.exe")
driver.implicitly_wait(30)
driver.maximize_window()
driver.get("http://www.baidu.com")
#定位设置元素
sz = driver.find_element_by_id('s-usersetting-top')
sz.click()
time.sleep(2)
#定位搜索设置
sssz = driver.find_element_by_xpath("//*[text()='搜索设置']")
sssz.click()
time.sleep(2)
#定位每页20条
xzk = driver.find_element_by_id('nr_2')
xzk.click()
time.sleep(2)
#点击保存设置
driver.find_element_by_xpath('//*[@id="se-setting-7"]/a[2]').click()
time.sleep(2)
#处理弹框   确定
driver.switch_to.alert.accept()
time.sleep(2)
#关闭游览器
driver.quit()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值