python - 比较 Python 中的 SQL 字段
问题描述
我正在尝试在 Python 中构建一个 selenium 测试,该测试仅在 SQL 数据库中设置标志时执行。
我的数据库中此特定字段的值当前为“False”,因此它应该打开开关,但它与我的代码无关:
connection = pypyodbc.connect('Driver={SQL Server};'
'Server=MYSERV\SQL2;'
'Database=MyDB;'
'uid=sa;pwd=sa')
cursor = connection.cursor()
cursor.execute('SELECT Value FROM SystemSettings where ID = 20063')
for row in cursor:
if row == "False":
option = driver.find_element_by_xpath('//*[@id="divFileProcessingSettings"]/div[17]/div/label/span')
option.click()
else:
break
connection.close()
解决方案
真快,你做了什么测试?
这是if row == "False":
在执行吗?您是否添加了一个快速打印语句来查看条件是否正在执行?
如果您已经完成了上述操作并且条件没有执行,您是否查看过Row in cursor:
返回的输出?
我不记得我的头顶,但我相信光标会为你返回一个元组。您需要将元组解压缩为实际变量而不是进行比较。你本质上是在做 ('False',) == "False"。
您可以通过简单地将比较更改为 row == ('False',) 来测试它,这可能会起作用,但您可能应该解压缩元组
尝试
f, _ = row
if f == "False":
推荐阅读
- javascript - Redux Selector - 连接对象的值
- javascript - TypeError:无法读取未定义的属性(读取“客户”)
- javascript - 在谷歌表中运行 websocket
- python - Pandas:如何根据信息的大小将信息从一个数据帧分配到另一个数据帧?
- javascript - 如何在 React js 中使用 Material UI 垂直对齐我的组件?
- bash - 如何在同一行匹配grep和输出?
- php - 无需翻译即可获取所有密钥
- mysql - 读取通信数据包时出错 - MySQL
- python - 功能问题我总是得到第一笔退款
- python - 使用 Flask 框架的 Python 代码不起作用,我不知道为什么