学习时间:9:00——11:00 14:30——17:00
selenium使用流程:
安装selenium模块
下载浏览器驱动程序
编写基于浏览器自动化的操作代码
—发起请求:get(url)
一标签定位:find方法
一标签交互:send keys('xxx')
—前进,后退:back(),forward()
—关闭浏览器:quit()
from time import sleep
from selenium import webdriver
bro = webdriver.ChromiumEdge()
bro.get('https://www.taobao.com/')
#标签定位
search_input = bro.find_element('id','q')
search_input.send_keys('只狼')
#点击搜索按钮
btn = bro.find_element('xpath','//*[@id="J_TSearchForm"]/div[1]/button')
btn.click()
bro.get('https://www.baidu.com')
sleep(2)
#回退
bro.back()
sleep(2)
#前进
bro.forward()
sleep(5)
bro.quit()
selenium处理iframe
—如果定位的标签存在于iframe标签之中,则必须使用switch_to.frame(id)
—动作链(拖动):from selenium. webdriver import ActionChains
—实例化一个动作链对象:action = ActionChains(bro)
—click and hold (div):长按且点击操作
—move_by_offset(x, y)
—perform():让动作链立即执行
—action.release:(释放动作链对象)
from time import sleep
from selenium.webdriver import ActionChains
from selenium import webdriver
bro = webdriver.ChromiumEdge()
bro.get('https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable')
bro.switch_to.frame('iframeResult')
div = bro.find_element('id','draggable')
action = ActionChains(bro)
action.click_and_hold(div)
for i in range(5):
action.move_by_offset(50,0).perform()
sleep(0.3)
action.release().perform()
bro.quit()
模拟qq空间登录
from selenium import webdriver
from time import sleep
bro = webdriver.ChromiumEdge()
bro.get('https://www.qzone.qq.com')
bro.switch_to.frame('login_frame')
a_tag = bro.find_element('id','switcher_plogin')
a_tag.click()
userName_tag = bro.find_element('id','u')
password_tag = bro.find_element('id','p')
sleep(1)
userName_tag.send_keys('2338610746')
sleep(1)
password_tag.send_keys('xxxxxxxxx')
sleep(1)
btn = bro.find_element('id','login_button')
btn.click()
sleep(3)
bro.quit()