栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python无法定位节点位置

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python无法定位节点位置

1说明

页面登录之后点击菜单,div中的页面局部刷新,跳转到新的页面,然后登录后的页面无法定位新页面节点

2 解决办法

点击事件之前先获取新页面的地址
getUrl(“http://192.168.20.112:8092/page/term/meter_register_list.html”)

3 上代码
import time
from telnetlib import EC

from selenium import webdriver
from selenium.webdriver import Keys
from selenium.webdriver.chrome.service import Service
# 创建 WebDriver 对象,指明使用chrome浏览器驱动
from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

# 加载谷歌浏览器驱动


wd = webdriver.Chrome(service=Service(r'F:workpythonpython_location2chromedriver.exe'))


# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址
def getUrl(url):
    wd.get(url)
    # 等5秒
    time.sleep(5)
    # 全屏显示
    wd.maximize_window()


# 定义输入框的函数
def input_text(location_type, value, text):
    wd.find_element(by=location_type, value=value).send_keys(text)


# 定义点击按钮的函数
def button_click(location_type, value):
    time.sleep(3)
    wd.find_element(by=location_type, value=value).click()
    time.sleep(3)


# 获取并设置断言
def assert_success(location_type, value, result):
    login_success = wd.find_element(by=location_type, value=value).text
    print(login_success)
    assert result in login_success


# 函数的调用
# 输入登录页面网址:
getUrl('http://192.168.20.112:8092')
# 输入账号
input_text(By.NAME, 'userName', 'delete')
# 输入密码
input_text(By.ID, 'password', '456789')
# 输入验证码
input_text(By.XPATH, '/html/body/div[1]/div/div/div[2]/div/div/div/div/div[1]/div/form/div[3]/div[1]/input', '111')
# 点击登录按钮
button_click(By.XPATH, '/html/body/div[1]/div/div/div[2]/div/div/div/div/div[1]/div/form/div[4]/button')
# 登录成功后的断言验证
assert_success(By.XPATH, '/html/body/div[1]/ul[2]/li[3]/a/div', 'delete1')
# 关闭页面
# wd.quit()

# 进入抄表页面点击终端信息按钮
button_click(By.XPATH, '/html/body/div[2]/div/ul/li[1]/a')
# 进入终端信息点击终端管理按钮
button_click(By.XPATH, '/html/body/div[2]/div/ul/li[1]/ul[1]/li/a/cite')

# 进入终端管理点击新增按钮

# wd.find_element(By.XPATH, '/html/body/div[2]/form/blockquote/div/div[7]/a').send_keys(Keys.ENTER)

# WebDriverWait(wd, 3).until(EC.element_to_be_clickable((By.XPATH,"//*[@id='addTerm']"))).click()
getUrl("http://192.168.20.112:8092/page/term/meter_register_list.html")
wd.find_element(By.CSS_SELECTOR, '#addTerm').click()


4执行结果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987508.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号