Selenium自动化模拟浏览器常用操作

该篇博客详细介绍了如何使用Selenium库在Python中进行网页自动化操作,包括启动浏览器(支持静默模式防止识别)、页面元素定位、输入与点击操作、页面滚动以及翻页等。此外,还提供了模拟用户行为如搜索、点击按钮的方法,适用于网页自动化测试和数据抓取场景。
摘要由CSDN通过智能技术生成

首先导入包

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

然后需要下载一个浏览器的驱动程序如谷歌的chromedriver,这里使用国内镜像网址:http://npm.taobao.org/mirrors/chromedriver/
将下载好的文件放到python的Scripts目录下

phantomjs:无头浏览器
https://phantomjs.org/download.html

#------------正常开启浏览器
# chrome = webdriver.Chrome()

#------------静默开启浏览器不弹窗口,防识别
option = webdriver.ChromeOptions()
# option.add_argument('headless') #headless是浏览器的静默模式
option.add_experimental_option('excludeSwitches',['enable-automation']) # 防止被网站识别(不会被浏览器检测到是自动化测试)

chrome = webdriver.Chrome(options=option)   #参数加上 options=option可以隐藏浏览器弹框
chrome.get("http://www.baidu.com")	#这个方法仅仅请求不返回数据
assert "百度" in chrome.title     #如果没有百度在title就会报错

#-----------通过id找到结点
elem2 = chrome.find_element_by_id("s-top-left")
#-----------得到文本内容
print(elem2.text)
#------------得到指定元素的html(这里注意大小写不要写错)
print(elem2.get_attribute('innerHTML'))

#------------通过xPath锁定搜索框
elem = chrome.find_element_by_xpath('//input[@id="kw"]')
elem.clear()    #清空搜索框数据
elem.send_keys("pycon") #输入数据


#------------三种方式点击按钮
button = chrome.find_element_by_id('su') #百度搜索按钮

button.click()  #第一种
# chrome.execute_script("arguments[0].click();", button)  #第二种
# elem.send_keys(Keys.ENTER)  #模拟键盘回车 第三种方式


#-------------模拟下拉到底部(有时候一些信息必须下拉到底部才能出现)
time.sleep(1)       #下拉需要一定反应时间
chrome.execute_script('window.scrollTo(0,document.body.scrollHeight)')

#------------获得当前页面的html源码
# print(chrome.page_source)

#------------翻页
for i in range(0,75):   #根据分析最多翻页到75
    next = chrome.find_elements_by_class_name('n') #得到上一页和下一页
    for i in next:
        if '下一页' in i.text: #如果存在下一页
            i.click()   #点击下一页按钮
    time.sleep(0.7)

#close关闭当前页面,quit()退出浏览器
# chrome.close()


找到了一个比较详细的selenium的操作:
https://www.cnblogs.com/songzhixue/p/11270593.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值