selenium定位隐藏元素

article/2025/9/12 17:03:12

面试官:“你是怎么使用selenium定位隐藏元素?”。

我相信这是很多小伙伴在面试web自动化的时候经常遇到的问题。但是我想说,这个问题着实很无聊。为什么我会这么说呢 ?

  1. 做web自动化测试,首先就是模拟用户做一些回归测试,元素都看不见,又何必去定位它?没有意义。
  2. 定位隐藏元素?认真的吗?我只想说定位隐藏元素用普通的定位方法即可。

 但是,我们又不好去直接去怼他,当然要用比较友好的话术去进行回答。

答:定位元素的话,直接用普通的定位方法即可,只是在操作元素上有些差异,需要用js去进行操作。

(不明白的看下面的操作步骤)

操作步骤:

1. 新建一个html文件,输入如下内容:实现的效果是输入对应的网址,跳转到对应的地址。

<!DOCTYPE html>
<html>
<head>
<title>定位演示</title>
<script>
function gettext(){var url = document.getElementById("urlAdd").value;window.location.href=url;
}
</script>
</head>
<body>请输入网站: <input type="text" id="urlAdd" /><button onclick="gettext()" id= "ok" >跳转</button>
</body>
</html>

 2. 想要实现隐藏,一般都是在对应的元素属性当中添加以下两个元素。

type="hidden" 或者 style="display:none" 属性来控制隐藏

<!-- 请输入网站: <input type="text" id="urlAdd" /> 改成如下: -->
请输入网站: <input style="display:none" type="text" id="urlAdd" />

3. 编写代码实现定位

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2021/9/14 21:33
# @Author : Yulisa_SYC
# @File : test.py
# @Software: PyCharmfrom  selenium import webdriver
import  time
url = “文件地址”
driver = webdriver.Chrome()
driver.get(url)# 方法一:以普通的方法去进行定位并且操作
# 1. 可以正常的定位到元素
ele =  driver.find_element_by_id("urlAdd")
print(ele)
# 2. 给隐藏元素给值去进行赋值,你会发现错误信息
ele.send_keys("https://baike.baidu.com/")# 方法二:通过js给隐藏的元素赋值(正确的操作)
# 1. 确定js
js = "document.getElementById('urlAdd').value = 'https://baike.baidu.com/'"
# 2. 执行js
driver.execute_script(js)# 点击跳转
driver.find_element_by_id("ok").click()
time.sleep(5)
driver.quit()

总结:

方法一:通过普通的定位操作元素,只能够正确的定位到隐藏元素,但是不可以操作元素。

方法二:通过js能够正确的定位到隐藏元素也可以操作元素。


http://chatgpt.dhexx.cn/article/KGeVr4Dy.shtml

相关文章

html标签隐藏占位,css怎么不占位隐藏元素

css不占位隐藏元素的方法&#xff1a;1、使用display属性&#xff0c;给元素添加“display:none;”样式即可。2、使用position绝对定位&#xff0c;给元素添加“position:absolute;top:-9999px;”样式即可。 本教程操作环境&#xff1a;windows7系统、CSS3&&HTML5版、D…

python获取页面隐藏元素_python之selenium操作隐藏元素

一、html显示与隐藏元素的几种方法 1、display none:隐藏元素 block:显示为块级元素 B元素 display: none 隐藏自身元素以及它的所有后代元素 ,隐藏后的元素不占据任何空间,不影响页面布局。 2、visibility hidden:隐藏 visible:显示 B元素 visibility: hidden 隐…

html如何隐藏标签?,css如何隐藏元素?

用 CSS 隐藏页面元素有许多种方法。你可以将opacity设为0、将visibility设为hidden、将display设为none或者将position设为absolute然后将位置设到不可见区域。 css隐藏元素&#xff1a; Opacity opacity 属性的意思是设置一个元素的透明度。它不是为改变元素的边界框(bounding…

html 隐藏元素点击事件,css隐藏元素的几种方法中可以触发点击事件的是?

css隐藏元素的几种方法中可以触发点击事件的是 是opacity设置为0的方法。 css隐藏元素的方式&#xff1a; 1、display:none;.box{ display: none; } 最简单也最粗暴的方法就是设置元素的display属性为none。 设置为display:none;的元素将不会再占用页面空间&#xff0c;其占用的…

html隐藏怎么出来,html怎么让元素隐藏

html让元素隐藏的方法&#xff1a;1、通过“display:none;”隐藏&#xff1b;2、通过“overflow:hidden;”隐藏&#xff1b;3、设置元素的宽高等盒子模型的属性值为0&#xff1b;4、利用定位隐藏&#xff1b;5、设置元素透明度为0&#xff1b;6、通过visibility隐藏。 本文操作…

html怎么隐藏一个元素,html怎么隐藏div元素

html隐藏div元素的方法&#xff1a;1、在div标签中使用hidden属性&#xff0c;添加“hidden"hidden"”语句即可。2、在div标签中使用style属性&#xff0c;添加“display: none;”样式即可。 本教程操作环境&#xff1a;windows7系统、CSS3&&HTML5版、Dell G…

HTML和CSS隐藏元素的四种方法

第一种&#xff1a;display&#xff1a;none 特点&#xff1a;不占据屏幕空间 显示&#xff1a;display&#xff1a;block <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible…

Matlab画图技巧

二维图像&#xff1a; 设置图片位置和大小&#xff1a; set (gcf,Position, [a,b,c,d])[a,b,c,d]分布代表图片的起始点位置&#xff0c;图片的长和高。在绘制一些较大的图片的时候&#xff0c;可先将图片调整好大小&#xff0c;拖拽到合适的位置&#xff1b;然后在工具栏编辑中…

MATLAB自定义函数并绘制

MATLAB在学习生活中应用非常广&#xff0c;简单总结一点MATLAB的使用小技巧&#xff0c;在脚本中自定义函数表达式并进行绘制 主要包括&#xff1a; 线性&#xff1a; f(x)axb二次&#xff1a;f(x)ax^2bxc高斯函数&#xff1a; 广义高斯函数: 对数正态函数: 代码实现的主要思…

MATLAB画图函数plot简单用法

用法一 用法二 plot(X, Y, LineSpec); 其中LineSpec是字符串&#xff0c;表示图形设置&#xff1a;线条样式(line style)、每个点的样式(marker)、颜色&#xff08;color&#xff09; 线条样式 点的样式 颜色 LineSpec就是用来描述这三个属性的&#xff0c;也可以只描述其中…

matlab损耗函数曲线,MATLAB 损失函数画图

损失函数画图 Hinge loss function: \[H(z) = max(0,1-z)\] $\psi$-learning loss function: \[{\phi _s}(z) = \left\{ {\begin{array}{*{20}{c}} s&{z < 0}\\ 0&{z \ge 0} \end{array}} \right.\] Normalized Sigmoid loss: \[{P_t}(z) = 1 - \tanh (tz)\] Ramp …

Matlab画图函数与参数

#Matlab画图函数及参数 学习资料方便查阅。 ##plot函数 plot是绘制一维曲线的基本函数&#xff0c;但在使用此函数之前&#xff0c;我们需先定义曲线上每一点的x及y座标。下例可画出一条正弦曲线&#xff1a; close all; xlinspace(0, 2*pi, 100); % 100个点的x座标 ysin(x); %…

matlab画图函数基本使用(适合新手)

matlab画图函数基本使用&#xff08;适合新手&#xff09; 画图1. 散点图&#xff08;scatter()函数&#xff09;&#xff1a;2. 函数图像&#xff08;plot()函数&#xff09;&#xff1a;1. 在同一张图绘制多条曲线2. 改变颜色和大小3.限制X Y坐标轴范围4.grid on 加上网格线5…

MATLAB常用画图函数

图形化 用plot举例直方图histogram条形图bar和barh饼状图pie极坐标polarplot和polarscatter三维图像plot3surfcmeshccontour3contourcontourf 用plot举例 x1 linspace(0,5); y1 sin(4*x);% 在一张画布上生成特定个数的子图像 % 第一个参数横向几个子图 % 第二个参数纵向几个…

What is Drilldown configuration

Created by Wang, Jerry on Aug 25, 2015

Echarts实现柱状图下钻功能

需求描述 在一个类别柱状图上&#xff0c;点击柱状图上的某一类后可显示该类具体的数据。 钻取的定义 钻取是改变维的层次&#xff0c;变换分析的粒度。包括向上钻取(drill up)和向下钻取(drill down).drill up 是在某一维上将低层次的细节数据概括到高层次的汇总数据&#…

Highcharts实现下钻多柱series

钻取功能需要引入或注册额外的功能模块&#xff0c;链接是官方模块的引入文档。 前言 Highcharts实现下钻动态添加多个series 实现 <template><divref"chartRef"style"height:300px;width:800px"></div> </template><script…

手把手教你实现echarts3的折线图下钻drilldown功能系列篇二

开场白 好了, 上一篇介绍了关于echarts下钻&#xff08;drilldown&#xff09;的一些信息&#xff0c;通过上一篇文章我们知道echarts折线图&#xff0c;柱状图没有支持下钻&#xff08;drilldown&#xff09;功能的api&#xff0c;那就需要我们自己动手&#xff0c;丰衣足食了…

Kibana:在 Kibana 中对数据进行深入分析 (drilldown)

我们可以在 Kibana 中对数据进行分析&#xff0c;并生产表格等。我们是否可以为我们展示的数据生产超链接呢&#xff1f;比如&#xff1a; 在我们上面的表格中在左边的表格中&#xff0c;上面所示的 US 是一个超链接。我们点击这个超链接后&#xff0c;它会帮我们启动一个搜索。…