面试官:“你是怎么使用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能够正确的定位到隐藏元素也可以操作元素。

selenium定位隐藏元素相关推荐

  1. selenium 中隐藏元素如何定位?

    前言 面试题:selenium 中隐藏元素如何定位?这个是很多面试官喜欢问的一个题, 如果单纯的定位的话,隐藏元素和普通不隐藏元素定位没啥区别,用正常定位方法就行了 但是吧~~~很多面试官自己都搞不清 ...

  2. selenium中隐藏元素如何定位

    1.什么是隐藏元素??? 前端通过一些属性来控制元素隐藏 type = "hidden" style = "display:none" margin设为负值 z ...

  3. python元素定位input button_python+selenium 定位到元素,无法点击的解决方法

    报错 selenium.common.exceptions.WebDriverException: Message: Element is not clickable at point (234.75 ...

  4. python元素定位id和name_Python Selenium定位html元素|find_element_by_class-name-id-tag-css-xpath-text...

    Selenium官方给了八种定位方法 1.find_element_by_class_name通过class name定位元素 我们拿Pythonfree网站来举例,点击右上角的搜索框. 鼠标右击搜索 ...

  5. Selenium定位HTML元素(Python)

    本篇不是介绍通过各种方法(id, name, tag_name, css, xpath等)定位HTML各元素的普及性文章,网络上各种文档和博客介绍得均比较全面.这里只是将自己实践中,遇到的个别问题及解 ...

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

    一.html显示与隐藏元素的几种方法 1.display none:隐藏元素 block:显示为块级元素 B元素 display: none 隐藏自身元素以及它的所有后代元素 ,隐藏后的元素不占据任何 ...

  7. 【selenium学习笔记一】python + selenium定位页面元素的办法。

    1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的 ...

  8. selenium定位到元素后获取其属性_selenium 元素查找与属性

    pip install selenium 2.selenium查找元素就八种方法 from selenium import webdriver driver=webdriver.Chrome() #说 ...

  9. selenium定位元素的方法_selenium定位元素之冻结窗口

    我们在使用selenium进行元素定位的时候,会发现有很多需要操作的元素是随着鼠标移动与移出才会显示与隐藏,不能通过页面窗口实时看到自己的定位是否准确.这就给我们定位工作带来了一些困扰. 这种情况下我 ...

最新文章

  1. OpenCV 【十五】绘直线/椭圆/矩形/圆及其填充
  2. Open Source Bing Maps API for ASP.NET MVC
  3. 山寨今日头条的标题title效果
  4. NodeJS常用模块介绍
  5. Servlet添加商品
  6. Linux 环境变量配置总结
  7. (转 留存)Windows环境下的NodeJS+NPM+GIT+Bower安装配置步骤
  8. 通达OA智能开发平台CRM系统二级下拉菜单联动的实现方法
  9. java将doc转换成pdf_Java 将Word文档转换为PDF
  10. joystick手柄驱动安卓_JoyStick for android2.3 游戏手柄功能开发
  11. iconfont 彩色图标的使用
  12. python学习第j十一天
  13. C语言实现扫雷OvO
  14. 【修真院“善良”系列之十九】他删库了他跑路了
  15. 集成支付宝,跳转到支付宝后显示的不是支付页面
  16. 华为RH2288H V3服务器raid配置
  17. P3287 [SCOI2014]方伯伯的玉米田
  18. Linux 文件的加密解密
  19. 局域网常用的几种网络拓扑结构及其特点。
  20. 数据治理的数据流程整合

热门文章

  1. php div 居中代码,Div内容居中效果如何实现
  2. 走着走着,累了,幸福了
  3. spring注入对象的几种方式
  4. 技术分享 | mysql Federated 引擎最佳实战
  5. Python库资源大全
  6. 安装vmware workstation15.5需要重启电脑解决方法
  7. Vim使用小记(一)常用操作
  8. 毕业设计 rtsp播放器 - 相关文档
  9. 下列不是python对文件的操作方法的是_Python 文件操作
  10. C语言-题目:设计一个圆类circle和一个桌子类table,另设计一个圆桌类roundtable,它是从前两个类派生的,要求输出一个圆桌的高度,面积和颜色等数据。