如何将字符串转换为纯文本?

时间:2019-05-01 17:51:27

标签: python

我已经开始学习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'))“。我该怎么做?

1 个答案:

答案 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)

请注意,上面没有星号。