Python中使用selenium(二)基本语法

本文介绍了Python中使用Selenium进行网页自动化的基本语法,包括环境准备、创建和操作浏览器、元素的选择与属性方法、执行JavaScript以及浏览器窗口的操作。通过实例展示了如何打开浏览器、定位元素、点击、输入内容等常见操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境准备

  • python环境已正确安装
  • selenium 已安装
  • 浏览器驱动已安装

如果没有完成,请看
Python中使用Selenium(一)

Selenium 语法

以下代码皆使用chrome测试通过

先看一下简单的爬虫

from selenium import webdriver
import time

def hello():
    driver = webdriver.Chrome()
    driver.get("https://www.baidu.com/")
    # 获得搜索框
    kwInput = driver.find_element_by_id("kw")
    # 在搜索框中输入内容
    kwInput.send_keys("blibli")

    # 查找百度一下按钮,并点击
    suBtn = driver.find_element_by_id("su")
    suBtn.click()


    time.sleep(3)
    driver.quit()
if __name__ == '__main__':
    hello()

driver = webdriver.Chrome()第一步是创建一个全新的浏览器并打开

driver.get("https://www.baidu.com/")第二步为打开指定的网址

driver.quit()最后一步永远为关闭浏览器

selenium 常用语法

获得元素

在阅读本部分前,最好温习一下javascript里面获得元素的方法,大部分一致
以下driver对象为 driver = webdriver.Chrome()

  • driver.find_element_by_id("kw")根据id获得元素
  • driver.find_element_by_tag_name("a")根据标签的名称获取元素,例如a标签,div标签
  • driver.find_elements_by_class_name("className")根据class来获得元素
  • driver.find_elements_by_css_selector(“#kw”)根据css选择器获得元素
  • driver.find_element_by_xpath(“//input[@id='kw'])根据xpath选择器获得元素
  • 剩下的find_element_by_link_text 和 find_element_by_partial_link_text 不常用,可用xpath或者其他方法代替
    注意事项
    • find_element 和 find_elements 其中前者返回一个标签,后者返回一个数组,前者如果没有找到其中的元素会报错,后者不会报错,如果不确定返回多少元素,使用后者,然后接口len()函数进行长度判断
    • xpath语法可以代替其他基本所有的语法,具体可以了解一下xpath的具体语法

元素的属性和方法

以下element对象为通过获得元素中获得的单个元素
element.click()单击事件
element.get_attribute('name') 获得该元素的对应属性的值(常用),HTML中的元素的属性
element.get_property('name') 获得该元素的属性值(不常用),JS中元素的属性
element.text 获得该标签的内容 <div> 酸酸的果子<div> , 例如该div为element,获得的就是酸酸的果子这五个字
element.send_keys("酸酸的果子") 向输入框中输入内容

备注
  • 还有其他的属性和方法,例如id,parent等属性,还有clear() , submit(),is_displayed()等方法,只是不太常用,如果情况不一样可能会经常使用
  • 在该元素可以继续使用find_element和find_elemnets等方法,会在该标签下继续查找元素,但是如果使用xpath进行查找元素,会导致不从该标签下继续查找

执行js

js='window.open("https://www.baidu.com/");'
driver.execute_script(js)

经常可能需要跳转自定义的页面,而又不能使用driver.get()方法时,可以使用该种方法跳转

对浏览器窗口的操作

handleOrigin = driver.current_window_handle 获得当前浏览器标签页的坐标
handles = driver.window_handles 获得当前浏览器标签页的所有坐标
driver.switch_to.window(handles[1]) 切换当前浏览器的标签页(活动的)
driver.close()·关闭当前标签页
driver.minimize_window() 最小化窗口
driver.maximize_window() 最大化窗口
driver.set_window_size(1280,800) 设置浏览器窗口大小

本期就到这里了,第(三)期将会更新一些特殊的爬虫操作,如果有什么疑问可以在评论区讨论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值