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

 

posted @ 2021-08-21 18:00  空-山-新-雨  阅读(117)  评论(0编辑  收藏  举报