# -*- coding: utf-8 -*- import unittest from selenium import webdriver import openpyxl class test_UC(unittest.TestCase): def test_share(self): #驱动,无头模式 options=webdriver.ChromeOptions() options.add_argument('-headless') dr=webdriver.Chrome(options=options) #表格数据 file_name='./data/share_data.xlsx' lwb=openpyxl.load_workbook(file_name) st = lwb.active rows = st.max_row#最大行数 #循环读取数据和执行访问 for i in range(1,500): cell1 = st.cell(i, 5) cell2 = st.cell(i,1) print ('第{}行'.format(i)) cv=cell1.value print (cv) dr.get(cv) dr.implicitly_wait(3) print (dr.current_url) try: assert 'drive' in dr.current_url except: print('「失败用例」{}'.format(cell2.value)) dr.close()
时间: 2024-02-14 11:28:03 浏览: 108
#_--_coding_UTF-8_--_import_sys,os,dlib,glob,nu_PythonFace.zip
您的代码看起来没有明显的语法错误。根据您提供的代码,我可以看到您正在使用Selenium和openpyxl库进行测试,并从Excel文件中读取数据进行访问。然而,我注意到您在循环中使用了一个固定的范围(1到500),而不是使用实际的最大行数(rows)。
另外,您遇到的Unicode解码错误可能是因为Excel文件中包含了非ASCII字符,而默认的编码方式无法处理它们。我建议您尝试在打开Excel文件时指定编码方式为utf-8,例如:`openpyxl.load_workbook(file_name, read_only=True, keep_vba=False, data_only=True, guess_types=False, keep_links=False, encoding='utf-8')`。
另外,为了更好地捕获异常和错误信息,我建议您使用try-except结构来处理异常,并在发生异常时输出错误信息。
这是更新后的代码示例:
```python
# -*- coding: utf-8 -*-
import unittest
from selenium import webdriver
import openpyxl
class test_UC(unittest.TestCase):
def test_share(self):
# 驱动,无头模式
options = webdriver.ChromeOptions()
options.add_argument('-headless')
dr = webdriver.Chrome(options=options)
# 表格数据
file_name = './data/share_data.xlsx'
lwb = openpyxl.load_workbook(file_name, read_only=True, keep_vba=False, data_only=True, guess_types=False, keep_links=False, encoding='utf-8')
st = lwb.active
rows = st.max_row # 最大行数
# 循环读取数据和执行访问
for i in range(1, rows+1):
cell1 = st.cell(i, 5)
cell2 = st.cell(i, 1)
print('第{}行'.format(i))
cv = cell1.value
print(cv)
dr.get(cv)
dr.implicitly_wait(3)
print(dr.current_url)
try:
assert 'drive' in dr.current_url
except AssertionError:
print('「失败用例」{}'.format(cell2.value))
except Exception as e:
print('发生异常:{}'.format(str(e)))
dr.close()
```
请尝试更新代码并再次运行,看看是否解决了问题。如果问题仍然存在,请提供完整的错误信息,以便我能够更详细地帮助您。
阅读全文