Python Selenium 与 Pyppeteer 使用示例

一、selenium

0.基本:

# 安装selenium:pip install selenium
from selenium import webdriver
driver=webdriver.Firefox() #获得火狐浏览器对象,IE:.Ie(),谷歌:.Chrome()

"""

# 不打开浏览器

options = webdriver.ChromeOptions()  # 谷歌
options.add_argument('--headless')   # 设置无头模式
driver = webdriver.Chrome(options=options)

"""
driver.get('http://www.baidu.com') #向浏览器发送网址
driver.find_element_by_id('kw').send_keys('hello') #输入
driver.find_element_by_id('kw').submit() #提交
driver.quit() #关闭

`1.定位元素:

(1)(定位单个元素)WebDriver提供了八种定位元素的方法,分别为:

find_element_by_id("id")

find_element_by_name("userName")

find_element_by_class_name("bg s_btn")

find_element_by_tag_name("input")

find_element_by_link_text("登录")

find_element_by_partial_link_text("很长") #<a>一个很长的链接</a>

find_element_by_xpath("/html/body/div[2]/form/input") #绝对路径

find_element_by_xpath("//input[@type='submit']") #属性

find_element_by_css_selector("form.fm>input#kw")


还可以这样写(其余以此类推):
from selenium.webdriver.common.by import By

find_element(By.ID,"id")
find_element(By.CLASS_NAME,"s_ipt")


(2)(定位一组元素),在定位单个元素的element后加上一个s:

inputs=driver.find_elements_by_tag_name('input') #所有input

for i in inputs:
    if i.get_attribute('type')=='checkbox':
        i.click()    #若type属性为复选框则勾选
        time.sleep(1)

cbs=driver.find_elements_by_css_selector('input[type=checkbox]')#所有复选框

for checkbox in cbs:
    checkbox.click()


driver.find_elements_by_css_selector('input[type=checkbox]').pop().click()#去掉最后一个

#pop()或pop(-1)最后一个,pop(0)获取第一个,pop(1)第二个


`2.控制浏览器:

driver.back() #后退
driver.forward() #前进
driver.refresh() #刷新

元素操作:

clear() #清除文本
send_keys('hai') #模拟按键输入
click() #单击元素
submit() #提交表单
size #返回元素的尺寸
text #获取元素的文本
get_attribute('type') #获得属性值
is_displayed() #判断该元素是否可见

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值