Selenium的下载及chrome环境搭建

Selenium的下载及环境的搭建

1.安装python环境

bash 复制代码
conda 安装python环境《略》

2.在CMD在使用pip下载Selenium

bash 复制代码
pip install selenium   #pip安装

3.下载webdriver

进入Selenium的下载界面:https://www.selenium.dev/downloads/

下拉找到Browsers

4、驱动与浏览器


https://developer.chrome.com/docs/chromedriver/downloads?hl=zh-cn

对应版本
https://googlechromelabs.github.io/chrome-for-testing/

5、webdriver.chrome的开发文档
https://selenium-python.readthedocs.io/

开发举例

一、浏览器控制方法

get(url):加载指定的 URL 到浏览器中。

bash 复制代码
driver.get("https://www.baidu.com") #示例:
复制代码
quit():关闭浏览器并结束所有相关的窗口和进程。
bash 复制代码
driver.quit() #示例:
复制代码
close():关闭当前窗口。如果只有一个窗口打开,它的行为与quit()类似。
bash 复制代码
driver.close()  #示例:

二、元素定位方法

find_element(By.ID, value):通过元素的 ID 属性查找单个元素。 示例:element =

driver.find_element(By.ID, "my_element_id")。 find_element(By.NAME,

value):通过元素的 NAME 属性查找单个元素。 示例:element = driver.find_element(By.NAME,

"my_element_name")。 find_element(By.CLASS_NAME, value):通过元素的

CLASS_NAME 属性查找单个元素。 示例:element = driver.find_element(By.CLASS_NAME,

"my_element_class")。 find_element(By.TAG_NAME, value):通过元素的标签名查找单个元素。

示例:element = driver.find_element(By.TAG_NAME, "input")。

find_element(By.LINK_TEXT, value):通过链接的完全匹配文本查找单个元素。 示例:element =

driver.find_element(By.LINK_TEXT, "Click here")。

find_element(By.PARTIAL_LINK_TEXT, value):通过链接的部分文本查找单个元素。

示例:element = driver.find_element(By.PARTIAL_LINK_TEXT, "Click")。

find_element(By.CSS_SELECTOR, value):通过 CSS 选择器查找单个元素。 示例:element =

driver.find_element(By.CSS_SELECTOR, "#my_element_id")。

find_element(By.XPATH, value):通过 XPath 表达式查找单个元素。 示例:element =

driver.find_element(By.XPATH, "//div[@id='my_element_id']")。

find_elements(*locator):与上述方法类似,但返回的是符合条件的所有元素的列表。

三、元素交互方法

click():点击一个元素。 示例:element.click()。 send_keys(*value):向一个输入元素发送文本。

示例:element.send_keys("Hello, World!")。 clear():清除一个输入元素中的文本。

示例:element.clear()。 四、获取元素信息方法 text:获取元素的文本内容。 示例:element_text =

element.text。 get_attribute(name):获取元素的特定属性值。 示例:attribute_value =

element.get_attribute("class")。

五、等待方法

implicitly_wait(time_to_wait):设置一个隐式等待时间,在查找元素时,如果元素没有立即出现,Selenium

将等待指定的时间。 示例:

driver.implicitly_wait(10)(等待 10 秒)。

WebDriverWait(driver, timeout, poll_frequency=POLL_FREQUENCY,

ignored_exceptions=None):用于显式等待,等待特定条件满足。

六、代码示例

bash 复制代码
   from selenium.webdriver.support.ui import WebDriverWait
   from selenium.webdriver.support import expected_conditions as EC
   from selenium.webdriver.common.by import By

   element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "my_element_id")))
相关推荐
都叫我大帅哥1 小时前
Python的Optional:让你的代码优雅处理“空值”危机
python
曾几何时`3 小时前
基于python和neo4j构建知识图谱医药问答系统
python·知识图谱·neo4j
写写闲篇儿6 小时前
Python+MongoDB高效开发组合
linux·python·mongodb
杭州杭州杭州7 小时前
Python笔记
开发语言·笔记·python
路人蛃8 小时前
通过国内扣子(Coze)搭建智能体并接入discord机器人
人工智能·python·ubuntu·ai·aigc·个人开发
qiqiqi(^_×)8 小时前
卡在“pycharm正在创建帮助程序目录”
ide·python·pycharm
Ching·9 小时前
esp32使用ESP-IDF在Linux下的升级步骤,和遇到的坑Traceback (most recent call last):,及解决
linux·python·esp32·esp_idf升级
吗喽15434518810 小时前
用python实现自动化布尔盲注
数据库·python·自动化
hbrown10 小时前
Flask+LayUI开发手记(十一):选项集合的数据库扩展类
前端·数据库·python·layui
猫头虎10 小时前
什么是 npm、Yarn、pnpm? 有什么区别? 分别适应什么场景?
前端·python·scrapy·arcgis·npm·beautifulsoup·pip