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() 执行鼠标右键

 

posted on 2020-05-19 19:32  yukun093  阅读(189)  评论(0编辑  收藏  举报

导航