【功能自动化】使用text文档获取参数数据

 环境搭建:

需要配置WebTours网站

'''
读取Text文档数据
'''
# 导入包
from selenium  import webdriver
from selenium.webdriver.support.select import Select
from time import sleep

# 打开浏览器
driver = webdriver.Chrome()
# webdriver.Ie()
# webdriver.Firefox()

file = open('user.txt','r')
# for x in file:
#     # print (x,end='')
#     a = x.split()
#     print(a[0]+'     ' +a[1])

a = file.readlines()
for i in range(0,len(a)):
    x = a[i].split()
    yhm = x[0]
    print(yhm)
    mm=x[1]
    print(mm)
    
    # 打开网址
    driver.get("http://127.0.0.1:1080/WebTours/")
    # 等待3秒
    sleep(3)
    # 关闭浏览器
    # driver.close()
    #关闭浏览器 及驱动
    # 切换框架
    driver.switch_to_default_content()
    driver.switch_to_frame("body")
    driver.switch_to_frame("info")

    driver.find_element_by_link_text("sign up now").click()

    sleep(3)
    # 跳转页面,还是需要切换框架
    driver.switch_to_default_content()
    driver.switch_to_frame("body")
    driver.switch_to_frame("info")

    driver.find_element_by_name("username").send_keys(yhm)
    driver.find_element_by_name("password").send_keys(mm)
    driver.find_element_by_name("passwordConfirm").send_keys(mm)
    driver.find_element_by_name("register").click()
    sleep(3)

    # 跳转页面,还是需要切换框架
    driver.switch_to_default_content()
    driver.switch_to_frame("body")
    driver.switch_to_frame("info")
    expect = "Thank you, "+yhm
    actual = driver.find_element_by_tag_name("body").text
    print(actual)
    # 精确匹配用in 否则用in 
    if expect in actual:
        print("pass")
    else:
        print("fail")

driver.quit()

file.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,您需要确保您已经正确地使用了 `winpyauto` 库,并成功地获取了 `DataGridView` 控件的句柄。然后,您可以使用 `winpyauto` 库中的 `GetItemText` 函数来获取 `DataGridView` 中的文本值。例如: ```python import winpyauto # 获取 DataGridView 控件的句柄 hwnd = winpyauto.find_window(class_name="DataGridView") # 获取 DataGridView 中第一行第一列的文本值 text = winpyauto.get_item_text(hwnd, 0, 0) print(text) ``` 注意: - 如果您想要获取特定行列的文本值,可以将第二个和第三个参数设置为所需的行索引和列索引。 - `GetItemText` 函数只能用于获取普通的文本值,对于单元格中包含控件的情况无效。 如果仍然无法获取文本值,可能是您的代码有语法错误或其他问题,建议您检查您的代码,并在尝试使用其他方法调试。 ### 回答2: 在使用Python的WinPyAuto库进行自动化操作时,有时会遇到无法获取DataGridview类型控件中的文本值的问题。DataGridview是一种常见的表格控件,通常用于显示大量的数据。 要解决无法获取DataGridview控件的文本值的问题,我们可以尝试以下几种方法: 1. 使用控件的属性:尝试使用控件的Text属性获取文本值。有些DataGridview控件可能将文本值存储在该属性中。 2. 使用控件的方法:尝试查找控件的方法,例如GetText()或GetValue()来获取文本值。这些方法可能是特定于控件的,因此可能需要查看相关文档或示例代码。 3. 使用控件的索引或位置:如果无法通过属性或方法获取文本值,我们可以尝试使用控件的索引或位置来访问它的元素。可以使用控件的Row和Column索引来访问特定单元格的文本值。 4. 使用鼠标和键盘模拟操作:如果以上方法都无法获取文本值,我们可以尝试使用鼠标和键盘模拟操作来选择文本值并复制到剪贴板。然后可以使用Python的剪贴板库来获取剪贴板上的文本值。 无论使用哪种方法,我们都需要确保通过WinPyAuto库正确识别和定位DataGridview控件。这可能需要使用一些常规的自动化操作,例如找到控件的句柄,设置焦点等。 最后,如果以上方法仍然无法获取DataGridview控件中的文本值,可能是由于该控件的实现方式与其他控件有所不同,需要查看其具体实现和特性,并根据情况使用其他库或工具来解决。 ### 回答3: Python使用winpyauto自动化操作datagridview类型控件时,可以使用以下方法来获取文本值。 第一步,定位到datagridview控件。可以使用winpyauto库中的findbestmatch()或findallbestmatch()方法来查找控件,如下所示: ``` import winpyauto # 定义datagridview控件的标题或其他特征 datagridview_title = "datagridview1" # 使用findbestmatch找到datagridview控件 datagridview = winpyauto.findbestmatch(title=datagridview_title) ``` 第二步,获取文本值。一旦定位到了datagridview控件,可以使用get_value()方法来获取单元格的文本值,如下所示: ``` # 获取第一个单元格的文本值 cell_value = datagridview.get_value(row=0, col=0) ``` 可以根据具体需要和控件的结构,指定行号和列号来获取任意单元格的文本值。 总结起来,使用winpyauto自动化操作datagridview类型控件时,首先定位到控件,然后使用get_value()方法来获取单元格的文本值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值