038、selenium 常见面试题 02、如何通过子元素找到父元素,用两个点( .. )
一、面试题:如何通过子元素找到父元素
xpath基础语法:
. 当前节点
.. 上一个节点
/ 根节点
// 相对节点
1、案例:通过定位登陆输入框,找到form标签 //*[@id="username"]/../..
示例代码如下:
# -*- coding:utf-8 -*-
# Author: Sky
# Email: 2780619724@qq.com
# Time: 2021/8/21 17:54
# Project: day01
# Module: ch_09.py
# Environment: Python3.8.6 , Selenium3 环境 ( 3.141.0 版本)
# Environment: Chrome ( 92.0.4515.131, 正式版本) + chromedriver(92.0.4515.107版本)
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("http://49.235.92.12:8200/users/login/")
# 通过 id="username" 找到父级元素
time.sleep(3)
all_text = driver.find_element_by_xpath('//*[@id="username"]/../..').text
print(all_text)
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_09.py
用 户 名
密 码
忘记密码?
Process finished with exit code 0