繁体   English   中英

Python Selenium send_keys() 文本文件内空白区域的错误原因

[英]Python Selenium send_keys() error cause of the blank area inside the text file

我在这里遇到了一个有趣的情况。 我正在尝试为我的 Instagram 帐户自动化流程,当有人关注我时,向他发送直接消息,让他说“谢谢”之类的话。 在此文本中还包含表情符号。 所以我试图让它与表情符号一起工作,在我终于让它工作之后,我发现.send_keys()尝试从 my.txt 文件发送文本时由于内部的空白区域而无法正常工作其中。 例如,假设我在里面有这个文本:

My name is Bill 😀

I'm 22😀

由于它们之间的空白区域,这将不起作用。 但是,如果我像这样连续写它们My name is Bill I'm 22 ,工作完全正常。 所以我的问题是这样的。 我想让它像第一个例子一样工作。 任何人都可以在这里帮助我解决我的问题吗?

这是我为文本编写的代码:

with open(path + '\\text.txt', encoding='utf-8') as t_f:
        txt = t_f.read()

#Here is the element for typing my message
text_element = browser.find_element_by_xpath("""//*[@id="react-root"]/section/div/div[2]/div/div/div[2]/div[2]/div/div[2]/div/div/div[2]/textarea""")

#Here it processing the 'txt' to be able to have emojis
browser.execute_script("arguments[0].innerHTML = '{}'".format(txt),text_element)
text_element .send_keys('.')
text_element .send_keys(Keys.BACKSPACE)

在 instagram 中,facebook 等“\n”是字符串的结尾。 您必须改用 enter + shift 。

当你有多行时,它实际上以 '\n' 结尾

所以使用类似的东西:

text_element.click()

for part in txt.split('\n'):
    action = webdriver.ActionChains(driver)
    action.send_keys(part)
    action.key_down(Keys.SHIFT).key_down(Keys.ENTER).key_up(
        Keys.ENTER).key_up(Keys.SHIFT).perform()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM