[英]Python can't enter fieldvalue as string
尝试使用简单的对话框输入信息,但不允许我使用在对话框中输入的fieldValue
。
错误消息如下:
driver.get("https://" + fieldValues + "/test/")
TypeError:无法连接“ str”和“ tuple”对象
脚本如下:
import re
import easygui
from pprint import pprint
from selenium import webdriver
from pyvirtualdisplay import Display
from selenium.webdriver.common.keys import Keys
msg = "Please enter the server to test...",
title = "Local Server Tester ",
fieldNames = ['Server URL'],
fieldValues = [], # we start with blanks for the values
fieldValues = easygui.multenterbox(msg,title, fieldNames),
# Get server from fieldValues
print ("Server to test", (fieldValues))
# Log into system
driver = webdriver.Chrome()
driver.get("https://" + fieldValues + "/test")
如果要将此tuple
添加到新string
,则可以通过以下方式从中创建一个字符串:
driver.get("https://" + str(fieldValues) + "/test/")
您应该确保fieldValues的字符串表示形式是您真正想要的,如果没有,请编写一个函数来解开元组并从其元素创建格式正确的字符串。
编辑:给定有限的上下文,您可能正在寻找类似这样的东西来解开元组值并用'。'分隔它们,假设fieldValues是域名的一部分:
driver.get("https://" + '.'.join(fieldValues) + "/test/")
修改这一行,它应该可以工作(如果您只有一个要测试的URL)
driver.get("https://" + fieldValues[0][0]+ "/test")
您的fieldvalue看起来像这样。这是一个包含单个字符串列表的元组
FieldValues= (['www.yourserver.com'],)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.