selenium获取网页数据
网页搜索关键词并将相关信息返回
from selenium import webdriver#导入驱动模块
import time#导入时间模块
# 实例化一个浏览器
driver = webdriver.Firefox()
# 隐式等待
driver.implicitly_wait(10)
# 浏览器最大化
driver.maximize_window()
# 打开指定的网页(URL就是指网址)
driver.get("http://www.baidu.com")
driver.find_element_by_css_selector('#kw').send_keys('蔡徐坤')
#使用CSS筛选器按照ID元素定位到搜索输入框
driver.find_element_by_css_selector('#su').click()
#使用CSS筛选器定位到元素百度一下按钮
a = driver.find_elements_by_css_selector('.c-container>h3')
#按照属性值进行筛选,父类和子类关系用>,使用elements获取到的结果是一个非文本列表
for i in a:
print(i.text)
driver.quit()
时间模块:年月日格式化输出
import time
getTime = time.strftime('%Y-%m-%d %H:%M:%S')
print(getTime)
上传文件操作
通过input标签实现的上传功能,可以将其看作是一个输入框,即通过send_keys()指定本地文件路径的方式实现文件上传。
创建file.html文件,代码如下:
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>upload_file</title>
<link href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" />
</head>
<body>
<div class="row-fluid">
<div class="span6 well">
<h3>upload_file</h3>
<input type="file" name="file" />
</div>
</div>
</body>
<script src="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.js"></scrip>
</html>
通过浏览器打开file.html文件,功能如下图。
from selenium import webdriver
import os
driver = webdriver.Firefox()
file_path = 'file:///' + os.path.abspath('file.html')
driver.get(file_path)
# 定位上传按钮,添加本地文件
driver.find_element_by_name("file").send_keys('D:\\upload_file.txt')
driver.quit()
上传文件具体应用见126邮箱发送邮件操作!