Python自动化办公系列02_HTML补充知识 request,BeautifulSoup,Selenium
request库,BeautifulSoup库,Selenium库
1.request,BeautifulSoup库
<input type="radio"/> 单选
<input type="checkbox"> 多选
复习如何用<a href=""><a/>跳转,以及如何用<iframe></iframe>显示网页中的网页
request库:requests.get('url')从网页中获取信息;requests.post('url')从网页中上传信息
beautifulSoup抓取页面内容,抓取网页内容主要在这一行:h2ele = bs0bj.select("input")
import requests, bs4 resp = requests.get('http://url')
#把网页内容转化成文本对象 bs0bj = bs4.BeautifulSoup(resp.text) h2ele = bs0bj.select("input") print(h2ele[0].attrs)
2.selenium库四个点(webdriver,Webelement方法,键盘事件,鼠标事件)
1)如果配置ok,可以让python自动运行web网页,自动操作
from selenium import webdriver import time import os driver = webdriver.Edge("C:\Windows\SystemApps\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\msedgedriver.exe") url = "http://www.baidu.com" driver.get(url) print(driver.title)
driver.implicitly(10)
WebdriverWait(driver,10,0.2).until(lambda x:x.find_element_by_id("username")) time.sleep(5) driver.close()
上面这段代码,就是执行打开百度---获取url---输出标题头---等待5s钟---关闭。
webdriver常用方法:
- 打开和关闭网页:driver.get("url");driver.set_window_position(x,y) 设置初始化位置;driver.maximize_window();关闭浏览器 driver.quit()
- 获取信息:driver.title;driver.current_url;driver.page_source
- 等待时间:driver.implicitly(10) 设置等待时间为10s;WebdriverWait(driver, 10, 0.2).until(lambda x: x.find_element_by_id("username")) 设置10s的等待时间,每0.2s获取一次,直到用户输入username,找到。
- js方法
2)find_element_by_class_name(name) 使用css类的name元素。与element不同的是,elements查找的是多个元素
is_enable()和is_selected()使用方法:
if(isEnable()){
}
if(xxx.isSelected()){
}
如果多选框被选中,则isSelected()返回True,则执行代码框。
3)元素的键盘操作方法
send_keys(Keys.BACK_SPACE)
4)元素的鼠标事件操作方法
ActionChains(driver).context_click(xxx).perform() 执行鼠标右键