关于selenium的开始

认识selenium

安装

安装selenium:pip install selenium==2.48.0

使用selenium访问地址

  1. 导入webdriver: form selenium import webdriver
  2. 调用浏览器:driver =webdriver.PhantomJS(executable_path=r"selenium在你电脑上的路径\bin\selenium.exe")
  3. 访问百度页面:driver.get(url=‘https://www.baidu.com/’)
# 1. 导入webdriver
from selenium import webdriver
# 2. 调用浏览器
driver = webdriver.PhantomJS(executable_path=r'D:\phantomjs-2.1.1-windows\bin\phantomjs.exe')
# 3. 访问页面
driver.get(url='https://www.baidu.com/')

selenium的属性及方法

title 获取标题

print(driver.title)  # 百度一下,你就知道

page_source 查看页面内容

print(driver.page_source)

current_url 查看当前请求的url

print(driver.current_url)  # # https://www.baidu.com/

get_cookies() 获取页面所有的cookie

print(driver.get_cookies())  #[{'domain': '.baidu.com', 'expires': '周三, 25 十一月 2020 14:40:16 GMT', 'expiry': 1606315216, 'httponly': False, 'name': 'BA_HECTOR', 'path': '/', 'secure': False, 'value': 'a02t0ha5a6850480uc1frsnm00q'}, {'domain': 'www.baidu.com', 'expires': '周六, 05 十二月 2020 13:40:15 GMT', 'expiry': 1607175615, 'httponly': False, 'name': 'BD_UPN', 'path': '/', 'secure': False, 'value': '14314354'}]

查找元素

find_element_by_id(‘id的值’) 根据id查找元素
# find_element_by_id('id的值')  根据id查找元素
id_kw = driver.find_element_by_id("kw")
print(id_kw)  # <selenium.webdriver.remote.webelement.WebElement (session="38ef3120-2f24-11eb-b756-ed1861a98d8d", element=":wdc:1606311822628")>
find_elements_by_class_name(‘class的值’)

定义:根据class和值获取所有符合class值的元素,返回列表

find_element_by_class_name(‘class的值’)

定义:根据class和值获取所有符合class值的第一个元素,返回对象

# find_elements_by_class_name('class的值')  根据class和值获取所有符合class值的元素,返回列表
# find_element_by_class_name('class的值')  根据class和值获取所有符合class值的第一个元素,返回对象
class_list = driver.find_elements_by_class_name('s_ipt')  # [<selenium.webdriver.remote.webelement.WebElement (session="e1e59620-2f24-11eb-ab17-8f658eff5fd2", element=":wdc:1606312102919")>]
class_ = driver.find_element_by_class_name('s_ipt')  #<selenium.webdriver.remote.webelement.WebElement (session="13ea9c10-2f25-11eb-b67c-2f21ac900e4a", element=":wdc:1606312210782")>
print(class_)
find_element_by_xpath(‘xpath路径’)

定义:根据xpath路径匹配

# find_element_by_xpath('xpath路径')    根据xpath路径查找元素
input = driver.find_element_by_xpath('//input[@id="kw"]')
 print(input)  # <selenium.webdriver.remote.webelement.WebElement (session="cae039c0-2f25-11eb-8391-bbf79386b802", element=":wdc:1606312538465")>

text 获取标签之间的内容

# text 获取标签之间的内容
# content = driver.find_element_by_xpath('//div[@id="s-top-left"]/text()')  # 不支持
content = driver.find_element_by_xpath('//div[@id="s-top-left"]').text  # 支持
print(content)  # 新闻hao123地图视频贴吧学术更多

get_attribute(‘属性名’) 获取属性值

# 4.7 get_attribute('属性名')  获取属性值
class_s_ipt = driver.find_element_by_class_name('s_ipt').get_attribute('id')
print(class_s_ipt)  # kw

selenium中类人的操作

save_screenshot: 截图

# 截图
driver.save_screenshot("baidu.jpg")

在这里插入图片描述

send_key(‘输入的内容’) : 在输入输入内容

# send_keys('输入的内容')
# 步骤
# 1. 先获取文本框
# 2. 在输入内容
driver.find_element_by_xpath('//input[@id="kw"]').send_keys('python')
driver.save_screenshot('python.png')

在这里插入图片描述

click() : 点击

# 4.10 click()  点击
# 先找到输入框,然后输入内容,再点击
driver.find_element_by_xpath('//input[@id="kw"]').send_keys('python')
driver.find_element_by_xpath('//input[@id="su"]').click()
time.sleep(3)
driver.save_screenshot('点击.png')
# 原因:如果没页面
# 截图太快,页面响应需要时间,需要休眠一会儿再截图

搜索python的页面

快捷键:

需要导入Keys模块:from selenium.webdriver.common.keys import Keys

全选和剪切
# 举例:全选和剪切
driver.find_element_by_xpath('//input[@id="kw"]').send_keys('python')
driver.save_screenshot('全选之前.png')
driver.find_element_by_xpath('//input[@id="kw"]').send_keys(Keys.CONTROL,'a')
driver.save_screenshot('全选.png')
driver.find_element_by_xpath('//input[@id="kw"]').send_keys(Keys.CONTROL,'x')
driver.save_screenshot('剪切.png')
全选之前:

在这里插入图片描述

全选中:

在这里插入图片描述

剪切之后:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值