【WEB自动化面试02--学习过程的问题及解决】

day01

1、报错获取不到浏览器二进制文件:需要指定浏览器路径及驱动路径。

第一次使用谷歌浏览器驱动,找不到二进制文件报错:
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary
Stacktrace:原因:没有把谷歌浏览器安装在默认的地方这个错误信息表明在尝试初始化webdriver.Chrome()时,Selenium无法找到Chrome浏览器的二进制文件。错误信息为:“unknown error: cannot find Chrome binary”。这通常发生在以下几种情况:Chrome未安装:确保Google Chrome浏览器已经安装在你的系统上,并且安装在默认路径。对于Windows系统,Chrome通常安装在C:\Program Files (x86)\Google\Chrome\Application\chrome.exe或者C:\Program Files\Google\Chrome\Application\chrome.exe。安装路径非标准:如果Chrome安装在非标准路径,Selenium可能无法自动找到它。在这种情况下,你需要在Selenium的ChromeOptions中手动指定Chrome的位置。环境变量问题:确保系统的环境变量中包含了Chrome的路径,这样Selenium就能找到Chrome的二进制文件。针对这个问题,如果Chrome已经安装但Selenium仍然报错,你可以通过以下方式手动指定Chrome的路径:

 指定路径的代码:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Optionschrome_driver_path = "D:/path/to/chromedriver.exe"  # Chrome Driver的路径
chrome_binary_path = "C:/Program Files/Google/Chrome/Application/chrome.exe"  # Chrome浏览器的路径,根据实际安装位置调整options = Options()
options.binary_location = chrome_binary_path
service = Service(executable_path=chrome_driver_path)driver = webdriver.Chrome(service=service, options=options)

请确保将chrome_driver_pathchrome_binary_path替换为你系统上实际的路径。这样,Selenium就能正确地找到并使用Chrome浏览器了。

2、selenium的原理

地址:了解组件 | Selenium

3、更新pip的指令

python -m pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/

day02

1、会手写Xpath--只用相对路径

 1)通过唯一标识的方式

不管是什么元素类型,使用通配符*

el = driver.find_element(By.XPATH,"//*[@ID='topBooks2']")

 

 在确定元素类型的情况下,使用元素类型 dl 去匹配元素

el = driver.find_element(By.XPATH,"//dl[@ID='topBooks2']")

2)以。。开头--模糊查询

el = driver.find_element(By.XPATH,'//a[starts-with(text(),"神医毒妃")]')

3)包含

el = driver.find_element(By.XPATH,'//a[contains(text(),"神医毒妃")]')

4)苏雪梅

要编写XPath来定位包含“苏雪梅”的元素1. **直接定位包含文本的`<a>`标签**://td[@class='name']/a[contains(text(),'苏雪梅')]这个XPath查找类名为`name`的`<td>`标签下的`<a>`标签,其中包含文本“苏雪梅”。2. **使用文本定位整个`<td>`标签**://td[contains(.,'苏雪梅')]这个XPath查找任何包含“苏雪梅”文本的`<td>`标签。点(`.`)表示当前节点,所以`contains(.,'苏雪梅')`是查找当前节点及其子节点中包含指定文本的情况。3. **基于特定父标签的ID定位**://tbody[@id='newRankBooks2']//a[contains(text(),'苏雪梅')]```如果页面上有多个元素包含“苏雪梅”且你只对特定区域(例如ID为`newRankBooks2`的`<tbody>`内的元素)感兴趣,这个XPath会更加精确。4. **考虑使用兄弟节点定位**:如果你想基于与目标元素相邻的其他元素(例如作者名“张莹”)来定位“苏雪梅”,可以使用如下XPath://td[a[contains(text(),'张莹')]]/preceding-sibling::td[@class='name']/a[contains(text(),'苏雪梅')]这个XPath首先定位包含文本“张莹”的`<a>`标签的`<td>`标签,然后向前查找前一个兄弟`<td>`标签,该标签的类为`name`,并且其子`<a>`标签包含文本“苏雪梅”。

day03

1、等待

1)强制等待--调试代码

import time time.sleep(3)程序执行到此处会强制等待3s

2)隐式等待

driver.implicitly_wait(2)表示对程序执行整个生命周期内的元素都会等待2s.不需要导包哦

3)显式等待

4)包含下拉框的项目地址

包含下拉框的项目地址:https://sahitest.com/demo/selectTest.ht

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/23957.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

短视频矩阵源码----如何做正规开发规则分享:

一、什么是SaaS化服务技术开发&#xff1f; &#xff08;短视频矩阵系统是源头开发的应该分为3个端口---- 总后台控制端、总代理端口&#xff0c;总商户后台&#xff09; SaaS是软件即服务&#xff08;Software as a Service&#xff09;的缩写。它是一种通过互联网提供软件应…

Vue2(0基础入门)

环境准备 安装脚手架 vuecli: npm install -g vue/clivite: npm init vuelatest-g 全局安装&#xff0c;任意目录都可以使用vue脚本 进入目录创建项目&#xff1a; 在目录的终端输入&#xff1a;vue ui安装devtool(这个网页是安装好了自动跳转的) 运行项目&#xff1a; …

代码随想录第27天|贪心算法part1

455.分发饼干 先给孩子和饼干排序&#xff0c;每次选取一个最大的饼干给一个最大胃口的孩子&#xff0c;直到饼干分完或者遍历完孩子 class Solution { public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.begin(), g.end());sort(…

Vue3【三】 使用TS自己编写APP组件

Vue3【三】 使用TS自己编写APP组件 运行截图 目录结构 注意目录层级 文件源码 APP.vue <template><div class"app"><h1>你好世界!</h1></div> </template><script lang"ts"> export default {name:App //组…

JavaScript的核心语法

JavaScript JavaScript&#xff1a;JavaScript的组成&#xff1a;核心语法&#xff1a;Hello&#xff1a;变量&#xff1a;JS的基本数据类型&#xff1a;特殊点&#xff1a; 数组&#xff1a;流程控制语句&#xff1a;函数&#xff1a;函数的重载&#xff1a;函数的递归:预定义…

在 VSCode 中搭建 Flutter 开发环境并运行项目

要在 Visual Studio Code (VSCode) 中运行 Flutter 项目并启动虚拟机&#xff08;例如 Android Emulator&#xff09;&#xff0c;可以按照以下步骤进行设置和操作&#xff1a; 一、安装 Flutter 和 Dart 插件 安装 Flutter SDK&#xff1a; 前往 Flutter 官网 下载并安装 Flu…

离散数学答疑 3

&#xff5e;A&#xff1a;A的补集 有时候空集是元素&#xff0c;有时候就是纯粹的空集 A-B的定义&#xff1a; 笛卡尔积&#xff1a; 求等价关系&#xff1a;先求划分再一一列举 不同划分&#xff1a;分几块。一块&#xff1a;两块&#xff1a;三块&#xff1a;分别计算 Ix是…

自然语言处理(NLP)—— 主题建模

1. 主题建模的概念 主题建模&#xff08;Topic Modeling&#xff09;是一种用于发现文档集合&#xff08;语料库&#xff09;中的主题&#xff08;或称为主题、议题、概念&#xff09;的统计模型。在自然语言处理和文本挖掘领域&#xff0c;主题建模是理解和提取大量文本数据隐…

【常用工具系列】Git 教程——从入门到大师

目录 前言一、Git 基础1-1、Git 简介与安装安装 Git 1-2、 Git 工作流程1-3、 Git 配置与管理用户配置查看配置 1-4、 Git 仓库操作克隆仓库推送更改拉取更新 1-5 Git 分支管理创建分支切换分支删除分支解决冲突 二、 Git 进阶2-0、 Git 标签使用创建标签查看标签检出标签推送标…

「动态规划」如何求最小路径和?

64. 最小路径和https://leetcode.cn/problems/minimum-path-sum/description/ 给定一个包含非负整数的m x n网格grid&#xff0c;请找出一条从左上角到右下角的路径&#xff0c;使得路径上的数字总和为最小。说明&#xff1a;每次只能向下或者向右移动一步。 输入&#xff1a;…

《嵌入式系统导论》

计算题 已知位带别名基地址为0x220000000,计算位于位带区的0x200FFFFF地址的数据位7,计算它对应的位带别名区地址。 别名地址=位带别名基地址+字节偏移量x32+位号x4 别名地址=0x22000000+(0x200FFFFF -0x20000000)*32+7*4=0x220000807 分析如下基本定时器配置语句。 { ………

ctfshow-web入门-命令执行(web37-web40)

目录 1、web37 2、web38 3、web39 4、web40 命令执行&#xff0c;需要严格的过滤 1、web37 使用 php 伪协议&#xff1a; ?cphp://input post 写入我们希望执行的 php 代码&#xff1a; <?php system(tac f*);?> 拿到 flag&#xff1a;ctfshow{5c555d9a-6f55…

Mongodb数组元素更新之使用$定位数组第一个元素

学习mongodb&#xff0c;体会mongodb的每一个使用细节&#xff0c;欢迎阅读威赞的文章。这是威赞发布的第63篇mongodb技术文章&#xff0c;欢迎浏览本专栏威赞发布的其他文章。 阅读了不少Mongodb的文章&#xff0c;也和同事交流过。Mongodb数组更新是比较难理解的地方&#x…

EXCEL多sheet添加目录跳转

EXCEL多sheet添加目录跳转 背景 excel中有几十个sheet&#xff0c;点下方左右切换sheet太耗时&#xff0c;希望可以有根据sheet名超链接跳转相应sheet&#xff0c;处理完后再跳回原sheet。 方案一 新建目录sheet&#xff0c;在A1写sheet名&#xff0c;右键选择最下方超链接…

问题:材料题请点击右侧查看材料问题 查看材料 #学习方法#经验分享#学习方法

问题&#xff1a;材料题请点击右侧查看材料问题 查看材料 A.Colleges may reduce their enrollment. B.Top universities become increasingly competitive. C.Universities become selective in student admission. D.Colleges invest less in academy and infrastructure…

Go 文件压缩解压

在Go语言中&#xff0c;archive/zip包提供了创建、读取和解压缩ZIP格式文件的功能。 一、创建ZIP文件并添加内容----压缩 package mainimport ("archive/zip""bytes""fmt""io""log""os" )func main() {// 创建一…

el-input中change事件造成的坑

el-input中change事件造成的坑 一、change事件定义二、如果仅回车时候触发 一、change事件定义 仅在输入框失去焦点或用户按下回车时触发 二、如果仅回车时候触发 <el-inputv-model.trim"questionInput"placeholder"请输入你的问题&#xff0c;按回车发送&…

智慧视觉怎么识别视频?智慧机器视觉是通过什么步骤识别视频的?

智慧视觉功能怎么识别视频&#xff1f;智慧视觉是搭载在智能设备比如手机、AI盒子、机器视觉系统上的一个应用程序或特性&#xff0c;采用计算机视觉和人工智能的技术来识别图像或视频中的内容。如果想了解视频识别&#xff0c;就要明白智慧视觉功能会涉及的以下几个关键步骤和…

pxe自动装机

概念 pxe是c/s模式。允许客户端通过网络从远程服务器&#xff08;服务端&#xff09;下载引导镜像&#xff0c;加载安装文件&#xff0c;实现自动化安装操作系统。 无人值守&#xff1a;安装选项不需要人为干预&#xff0c;可以自动化实现。 pxe的优点&#xff1a;1.规模化&…

机器人阻抗控制中的机械阻抗模型

机器人阻抗控制中的机械阻抗模型主要涉及到通过修改机器人与环境接触作业的动力学模型&#xff0c;使其等效为一个期望的阻抗&#xff08;弹簧-质量-阻尼&#xff09;模型。以下是对机械阻抗模型在机器人阻抗控制中的详细解释&#xff1a; 阻抗控制原理&#xff1a; 机器人阻抗…