【Python】selenium模块基本使用

一、demo示例

      效果:运行代码后,自动打开谷歌浏览器,浏览器会首先跳转到百度,然后在搜索框中搜索Python,接着跳转到搜索结果页

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
import time



def from_baidu_search_python():
    try:
        # 声明浏览器对象
        browser = webdriver.Chrome()
        # 打开百度
        browser.get("https://www.baidu.com")
        # 搜索python,enter键搜索
        input = browser.find_element_by_id('kw')
        input.send_keys('Python')
        input.send_keys(Keys.ENTER)
        # 设置超时方式
        wait = WebDriverWait(browser,10)
        wait.until(EC.presence_of_all_elements_located((By.ID,'content_left')))
        print(browser.current_url)
        print(browser.get_cookies())
        while True:
            time.sleep(10)
    finally:
        browser.close()
        
from_baidu_search_python()


二、Keys键盘类操作常用方法

导入方法:from selenium.webdriver.common.keys import Keys


send_keys(Keys.BACK_SPACE)	删除键BackSpace
send_keys(Keys.SPACE)	空格键Space
send_keys(Keys.TAB)	制表键Tab
send_keys(Keys.ESPACE)	回退键Esc
send_keys(Keys.ENTER)	回车键Enter
send_keys(Keys.CONTROL,‘a’)	全选Ctrl+A
send_keys(Keys.CONTROL,‘c’)	复制CTRL+C
send_keys(Keys.CONTROL,‘x’)	剪切CTRL+X
send_keys(Keys.CONTROL,‘v’)	粘贴Ctrl+V
send_keys(Keys.F1)	键盘F1
send_keys(Keys.F12)	键盘F12

三、定位节点方法

find_element(s)_by_id()——按id查找

find_element(s)_by_name()——按name值查找

find_element(s)_by_class_name()——按类名查找

find_element(s)_by_tag_name()——按标签名查找

find_element(s)_by_link_text()——此种方法是专门用来定位文本链接的,比如百度首页右上角有“新闻”,“hao123”,“地图”等链接。如:

# 通过link定位"新闻"这个链接并点击
driver.find_element_by_link_text('新闻').click()
 

find_element(s)_by_partial_link_text()——按部分文本链接名称查找

  有时候一个超链接的文本很长很长,我们如果全部输入,既麻烦,又显得代码很不美观,这时候我们就可以只截取一部分字符串,用这种方法模糊匹配了。

find_element(s)_by_xpath()——按xpath方式查找

find_element(s)_by_css_selector()——按css选择器查找

获取节点信息代码示例:

>

from selenium import webdriver


browser = webdriver.Chrome()
url = 'https://www.zhihu.com/explore'
browser.get(url)
logo = browser.find_element_by_id("zh-top-link-logo")
print(logo)
print(logo.get_attribute('class'))

>

from selenium import webdriver


browser = webdriver.Chrome()
url = 'https://www.zhihu.com/explore'
browser.get(url)
input = browser.find_element_by_id("zh-top-add-question")
print(input.text)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值