我已经开始学习Python,现在尝试将字符串(这是邮件)转换为纯文本,但是出于某种原因,我得到的都是“ thisisthemail”或“(''this','is',' ','mail')“(如果使用str.split()。
async def sendmessage(ctx, UserID: str, *Mail: str):
driver = webdriver.Firefox(
executable_path='C://geckodriver//geckodriver.exe')
driver.get('https://127.0.0.1/account=login')
driver.find_element_by_name("username").send_keys("stackoverflow") #credentials
driver.find_element_by_name("password").send_keys("stackoverflow") #credentials
driver.find_element_by_xpath("//input[@value='Log In']").submit()
time.sleep(10)
driver.get('https://127.0.0.1/admin=sendmsg&id=' + UserID) #heading to the user's page
driver.find_element_by_name("messageuser").send_keys(*Mail) #composing the message to the user
driver.find_element_by_xpath("//input[@value='Save']").submit() #mail sent
time.sleep(2) #pause to save changes
driver.quit()
我希望用户看到“这是邮件”而不是“ thisisthemail”或“(('this','is','the','mail'))“。我该怎么做?
答案 0 :(得分:2)
在黑暗中射击,但我相信这是因为您如何设置参数列表:
async def sendmessage(ctx, UserID: str, *Mail: str):
这意味着Mail
会作为您发送给函数的所有其他参数的列表进入函数。
你可以做
driver.find_element_by_name("messageuser").send_keys(' '.join(Mail))
或者仅要求Mail
参数是一个字符串,如
async def sendmessage(ctx, UserID: str, Mail: str):
和
driver.find_element_by_name("messageuser").send_keys(Mail)
请注意,上面没有星号。