当前位置: 首页 > news >正文

宝塔面板做织梦网站万网域名注册查询网

宝塔面板做织梦网站,万网域名注册查询网,网站定制开发是什么,深圳模板文章目录 1. 概述2. 安装Chrome及ChromeDriver2.1 安装Chrome2.2 安装ChromeDriver 3. 安装Selenium4. 常见用法4.1 启动4.2 查找元素4.3 等待页面加载元素 1. 概述 Selenium 是一个用于自动化 web 浏览器的工具,它提供了一套用于测试 web 应用程序的工具和库。Sel…

文章目录

  • 1. 概述
  • 2. 安装Chrome及ChromeDriver
    • 2.1 安装Chrome
    • 2.2 安装ChromeDriver
  • 3. 安装Selenium
  • 4. 常见用法
    • 4.1 启动
    • 4.2 查找元素
    • 4.3 等待页面加载元素


1. 概述

Selenium 是一个用于自动化 web 浏览器的工具,它提供了一套用于测试 web 应用程序的工具和库。Selenium 最初是用于测试 web 应用程序的,但它也被广泛用于进行网络数据采集、自动化任务和网页操作等。

Selenium 支持多种编程语言,包括 Python、Java、JavaScript、C# 等,但最为常用的是使用 Python 进行 Selenium 测试和自动化。使用 Selenium,您可以编写代码来模拟用户在 web 浏览器中的操作,例如打开网页、填写表单、点击按钮、提取网页内容等。

Selenium 提供了多个工具和库,其中最常用的是 Selenium WebDriver,它允许您控制各种不同的 web 浏览器,如 Chrome、Firefox、Edge 等。通过 Selenium WebDriver,您可以编写代码来与浏览器进行交互,模拟用户在浏览器中的行为,并对 web 应用程序进行测试、数据采集和自动化任务。

2. 安装Chrome及ChromeDriver

2.1 安装Chrome

(1)linux 安装 Chrome 方法:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb# 如果这一步报错,直接执行下一步
sudo dpkg -i ./google-chrome*.debsudo apt-get install -f

判断是否安装成功

google-chrome --version

(2)Windows 和 Mac,安装Chrome 浏览器即可

2.2 安装ChromeDriver

ChromeDriver 的下载方式参考这里,注意 ChromeDriver 和 Chrome 内核的版本匹配即可。

3. 安装Selenium

pip install selenium

4. 常见用法

4.1 启动

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import ServiceWEB_DRIVER_PATH = "/xxx/xx/chromedriver"
chrome_options = Options()
driver = webdriver.Chrome(service=Service(WEB_DRIVER_PATH), options=chrome_options)

以下是启动一些常见应用场景的 ChromeOptions 配置示例:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options# 创建ChromeOptions实例
chrome_options = Options()# 1. 隐身模式启动
chrome_options.add_argument("--incognito")# 2. 大窗口启动
chrome_options.add_argument("--start-maximized")# 3. 禁用GPU渲染
chrome_options.add_argument('--disable-gpu')# 4. 添加浏览器启动参数,例如禁用安全警告
chrome_options.add_argument('--unsafely-treat-insecure-origin-as-secure="http://example.com"')
chrome_options.add_argument('--ignore-certificate-errors')# 5. 添加扩展程序
# 注意:extension_path应指向本地的.crx扩展程序文件
extension_path = '/path/to/your/extension.crx'
chrome_options.add_extension(extension_path)# 6. 更改下载目录
prefs = {"download.default_directory": "/path/to/download/folder","download.prompt_for_download": False,"plugins.always_open_pdf_externally": True  # 例如,总是外部打开PDF文件
}
chrome_options.add_experimental_option("prefs", prefs)# 7. 启动无头模式(无界面运行)
chrome_options.add_argument('--headless')# 创建Chrome浏览器实例,使用上述配置
driver = webdriver.Chrome(options=chrome_options)# 执行网页导航或者其他操作...
driver.get('http://example.com')# 使用完毕后关闭浏览器
driver.quit()

4.2 查找元素

(1)用 id 查找

from selenium.webdriver.common.by import By
try:ele = driver.find_element(By.ID, "id name")
except Exception as e:pass

(2)用 class 查找

from selenium.webdriver.common.by import By
try:# 查找第一个class名字匹配的元素ele = driver.find_element(By.CLASS_NAME, "class name")  # 替换 "class_name" 为实际Class名# 查找所有class名字匹配的元素eles = driver.find_elements(By.CLASS_NAME, "class name")
except Exception as e:pass

(3)用 css 查找

from selenium.webdriver.common.by import By
try:# 通过CSS选择器定位单个元素element = driver.find_element(By.CSS_SELECTOR, "#element_id" or ".class_name" or "tag_name[attr=value]"...)  # 使用实际的CSS选择器# 通过CSS选择器定位一组元素elements = driver.find_elements(By.CSS_SELECTOR, "your_css_selector")
except Exception as e:pass

(4)查找其他元素

from selenium.webdriver.common.by import By
try:# 查找所有div标签ele = driver.find_elements(By.TAG_NAME, "div")# 查找第一个a标签ele = driver.find_element(By.TAG_NAME, "a")# 查找第一个span标签ele = driver.find_element(By.TAG_NAME, "span")
except Exception as e:pass

4.3 等待页面加载元素

有时页面加载需要等待一定时间,如果显式的 sleep,不够灵活,可以借助selenium 的 WebDriverWait。

WebDriverWait 是 Selenium WebDriver 中用于实现隐式等待和显式等待的一种机制,它能够根据提供的条件等待元素变为可用或满足特定条件。显式等待允许你在执行下一步操作之前强制等待某个条件成立,这样可以避免因为页面元素加载不完全而导致的找不到元素或操作元素失败的问题。

使用 WebDriverWait 的基本步骤如下:

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# 初始化WebDriver对象,这里以Chrome为例
driver = webdriver.Chrome()# 访问某个URL
driver.get("http://www.example.com")# 创建WebDriverWait对象,通常需要传入WebDriver实例和超时时长
wait = WebDriverWait(driver, 10)  # 这里的10表示最长等待10秒# 使用WebDriverWait等待某个条件满足
# 例如,等待页面上某个id为'element_id'的元素可见
element = wait.until(EC.presence_of_element_located((By.ID, 'element_id')))# 此时,element变量已经被赋值为找到的元素,可以对其进行后续操作
element.click()# 或者等待页面标题包含特定文字
wait.until(EC.title_contains("Example"))# 最后,关闭浏览器
driver.quit()

expected_conditions模块提供了多种内置条件:

  • presence_of_element_located((By.ID, 'element_id')):等待元素存在
  • visibility_of_element_located((By.ID, 'element_id')):等待元素可见
  • element_to_be_clickable((By.ID, 'element_id')):等待元素可见且可点击
  • title_is("Page Title"):等待页面标题为特定值
  • title_contains("Partial Title"):等待页面标题包含特定部分

通过这种方式,WebDriverWait 可以帮助我们在执行自动化脚本时更加稳定可靠,确保在进行操作之前目标元素已经准备好。

http://www.zhongyajixie.com/news/18664.html

相关文章:

  • linux vps网站搬家命令友情链接百科
  • 如何让一个网站排名掉十大推广app平台
  • 怎样给自己的网站做优化南宁网站制作
  • 做落地页的网站抖音权重查询
  • 制作相册影集app天津优化加盟
  • 从哪些方面做好网站的seoseo评测论坛
  • 安徽网站推广营销设计网络广告投放渠道有哪些
  • 企业营销网站建设落实好疫情防控优化措施
  • 做网站必须注册的商标seo网站推广案例
  • 网站优化推广方案十个有创意的线上活动
  • 屏显的企业网站应该怎么做949公社招聘信息
  • 网站群 米拓网站免费推广软件
  • 全球军事网站广东短视频seo搜索哪家好
  • 曲靖网站建设公司中国局势最新消息今天
  • dede地方门户网站模板外贸订单一般在哪个平台接
  • 江干区住房和城市建设局网站长沙整合推广
  • 购物网站毕业论文推广普通话的重要意义
  • 网站被加黑链google官方版下载
  • 自己做的网站添加域名百度热词
  • 网页设计与网站建设第03章在线测试培训心得体会范文大全1000字
  • 网站建设合作伙伴惠州seo网站排名
  • 安徽seo推广公司深圳优化公司找高粱seo服务
  • 做中小型网站最好的架构廊坊网络推广优化公司
  • 江苏网站建设哪家快点查询seo
  • 网站建设周期计划泰州百度seo
  • 网站定制论文1500字左右免费seo视频教程
  • 怎么做网站报告排名优化是怎么做的
  • 越南的网站建设南京seo建站
  • 免费建站abc长沙网站推广和优化
  • 广州企业网站找哪里seo职业培训学校