如何在网页selenium webdriver python上只验证一个文本(字体)

2024-04-20 12:07:08 发布

您现在位置:Python中文网/ 问答频道 /正文

Python 在这里,我试图验证网页上只有一个文本(单一字体)。 这是我的测试线:“+FCIN:~| 210920145516 | 1 | 0 | 00000000 | ~” 我必须在这里验证| 0 |是否存在,因为在我的项目中,有时也会显示| 1 |

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.webdriver import WebDriver
from selenium.common.exceptions import NoSuchElementException
import openpyxl
import asserts
import unittest_assertions
import requests
import replace

import time
from selenium.webdriver.chrome.options import Options
web = webdriver.Chrome(ChromeDriverManager().install())
web.maximize_window()

excel_document = openpyxl.load_workbook(r"C:\Users\Sagar\Documents\validation.xlsx", data_only=True)
sheet = excel_document["Sheet1"]


for i in range(2, sheet.max_row+1):
    url = "http://ts.vcccms.in/GwaliorMeterAPI/api/DeviceSchedule/DeviceScheduleInfo?DeviceID=2|"
    id = "A" + (str(i))
    cell_value = sheet[id].value
    web.get(url+str(cell_value))
    time.sleep(2)

    element = web.find_element_by_tag_name("pre")
    #"+FCIN:~|210928120957|1|0|0000,0000|~"
    if element.text != "+FCIN:~|210920145516|1|0|0000,0000|~":
        #print(element[1:10])
        print("Verify Failed: element text is not %r" % element.text)
        #print("Verify Failed: element text is not %r" % element.text)
        #web.back()

    web.back()

1条回答
网友
1楼 · 发布于 2024-04-20 12:07:08

这可以通过python中的关键字来完成:

示例代码:

element = web.find_element_by_tag_name("pre")
if "|0|" in element.text:
    print("|0| is present, Test should be passed")
else:
    print("|0| is not present, Test should be failed")

“in”关键字:

  • 检查列表、元组、范围、字符串等中是否存在值
  • 遍历for循环中的序列

有关更多信息,请参见here

相关问题 更多 >