039、selenium 常见面试题 03、隐藏元素定位和操作,(方法1:鼠标悬停,先让它显示 方法2:js可以直接点击隐藏元素)
一、 隐藏元素定位和操作
如何定位隐藏元素? js操作隐藏元素?
隐藏元素如何操作呢? 方法1:鼠标悬停,先让它显示 ; 方法2:js可以直接点击隐藏元素
什么是隐藏元素?3种情况 :
隐藏元素定位示例如下:
隐藏元素定位 案例:
代码如下:
# -*- coding:utf-8 -*-
# Author: Sky
# Email: 2780619724@qq.com
# Time: 2021/8/21 18:08
# Project: day01
# Module: ch_10.py
# Environment: Python3.8.6 , Selenium3 环境 ( 3.141.0 版本)
# Environment: Chrome ( 92.0.4515.131, 正式版本) + chromedriver(92.0.4515.107版本)
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("http://49.235.92.12:8200/users/login/")
time.sleep(2)
# 先登陆
driver.find_element_by_id("username").send_keys("112233456@qq.com")
driver.find_element_by_id("password_l").send_keys("123456")
driver.find_element_by_id("jsLoginBtn").click()
# 隐藏元素操作,方法一:
# 鼠标悬停,先让它显示
mouse = driver.find_element_by_class_name("personal")
ActionChains(driver).move_to_element(mouse).perform()
time.sleep(3)
# 隐藏元素 可以获取元素属性,但是text属性为''
p = driver.find_element_by_class_name("personcenter")
print(p.text)
print(p.tag_name)
print(p.get_attribute("href"))
time.sleep(3)
driver.quit()
执行结果如下:
D:\SkyWorkSpace\WorkSpace\Web_AutoTest\Temp\day01\venv\Scripts\python.exe
D:/SkyWorkSpace/WorkSpace/Web_AutoTest/Temp/day01/ch_003/ch_10.py
进入个人中心
a
http://49.235.92.12:8200/users/userinfo/
Process finished with exit code 0
隐藏元素如何操作呢?
方法1:前面讲的鼠标悬停,先让它显示
方法2:js可以直接点击隐藏元素
# -*- coding:utf-8 -*-
# Author: Sky
# Email: 2780619724@qq.com
# Time: 2021/8/21 18:08
# Project: day01
# Module: ch_10.py
# Environment: Python3.8.6 , Selenium3 环境 ( 3.141.0 版本)
# Environment: Chrome ( 92.0.4515.131, 正式版本) + chromedriver(92.0.4515.107版本)
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("http://49.235.92.12:8200/users/login/")
time.sleep(2)
# 先登陆
driver.find_element_by_id("username").send_keys("112233456@qq.com")
driver.find_element_by_id("password_l").send_keys("123456")
driver.find_element_by_id("jsLoginBtn").click()
# # 隐藏元素操作,方法一:
# # 鼠标悬停,先让它显示
# mouse = driver.find_element_by_class_name("personal")
# ActionChains(driver).move_to_element(mouse).perform()
# time.sleep(3)
# # 隐藏元素 可以获取元素属性,但是text属性为''
# p = driver.find_element_by_class_name("personcenter")
# print(p.text)
# print(p.tag_name)
# print(p.get_attribute("href"))
# time.sleep(3)
# # 隐藏元素操作,方法二:
# js 点击隐藏元素
js = 'document.getElementsByClassName("personcenter")[0].click()'
driver.execute_script(js)
time.sleep(3)
driver.quit()