Selenium浏览器启动方式

Chromedriver所有版本下载
原文链接

浏览器的基本操作

  1. 普通方式启动浏览器:
python 复制代码
from selenium import webdriver
# 启动Chrom浏览器
browser = webdriver.Chrome()
# 启动Edge浏览器
browser = webdriver.Edge()
# 启动Firefox浏览器
browser = webdriver.Firefox()
browser.get('http://www.baidu.com/')
  1. Headless方式启动(无界面启动)
    Headless Chrome 是 Chrome 浏览器的无界面形态,可以在不打开浏览器的前提下,使用所有 Chrome 支持的特性运行你的程序。
python 复制代码
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
chrome_options = webdriver.ChromeOptions()
# 使用headless无界面浏览器模式
chrome_options.add_argument('--headless') # 增加无界面选项
chrome_options.add_argument('--disable-gpu') # 如果不加这个选项,有时定位会出现问题
# 启动浏览器,获取网页源代码
browser = webdriver.Chrome(chrome_options=chrome_options)
mainUrl = "https://www.taobao.com/"
browser.get(mainUrl)
print(f"browser text = {browser.page_source}")
browser.quit()
  1. 加载配置文件方式启动
    Selenium默认是不加载配置启动,用Chrome地址栏输入chrome://version/,查看自己的"个人资料路径",然后在浏览器启动时,调用这个配置文件,代码如下:
python 复制代码
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_argument('--user-data-dir=C:\Users\DELL\AppData\Local\Google\Chrome\User Data')# 设置成用户自己的数据目录
driver=webdriver.Chrome(chrome_options=option)

元素定位

  1. 常见的元素定位方式
python 复制代码
#通过id方式定位
browser.find_element_by_id("kw").send_keys("selenium")
#通过name方式定位
browser.find_element_by_name("wd").send_keys("selenium")
#通过tag name方式定位
browser.find_element_by_tag_name("input").send_keys("selenium")
#通过class name方式定位
browser.find_element_by_class_name("s_ipt").send_keys("selenium")
#通过CSS方式定位
browser.find_element_by_css_selector("#kw").send_keys("selenium")
#通过xpath方式定位
browser.find_element_by_xpath("//input[@id='kw']").send_keys("selenium")
相关推荐
坐吃山猪4 分钟前
BrowserUse14-源码-ScreenShot模块-整理
linux·数据库·python
独行soc28 分钟前
2025年渗透测试面试题总结-280(题目+回答)
网络·python·安全·web安全·网络安全·渗透测试·安全狮
Data_agent31 分钟前
京东商品视频API,Python请求示例
java·开发语言·爬虫·python
serve the people32 分钟前
tensorflow 核心解析:tf.RaggedTensorSpec 作用与参数说明
人工智能·python·tensorflow
luod1 小时前
Python使用pymysql执行DML语句
python
坐吃山猪1 小时前
BrowserUse11-源码-LLM模块
python·llm·playwright·browser-use
lang201509281 小时前
深入解析Java资源加载机制
java·开发语言·python
爱笑的眼睛111 小时前
自动机器学习组件的深度解析:超越AutoML框架的底层架构
java·人工智能·python·ai
LCG米2 小时前
嵌入式Python工业环境监测实战:MicroPython读取多传感器数据
开发语言·人工智能·python
自学小白菜2 小时前
每周刷题 - 第三周 - 双指针专题 - 02
python·算法·leetcode