【问题标题】:Python Selenium sending varible output to element problem via .sendkeysPython Selenium 通过 .sendkeys 将变量输出发送到元素问题
【发布时间】:2021-02-27 15:32:12
【问题描述】:

当我在 Chrome 上通过 .sendkeys 向注册表单发送一个普通的静态字符串 usrname = 'usernamefoo' 时,它工作正常。但是如果我发送usrname = rand_name_1 + rand_name_2 + rand_name_3 的输出会发生一些奇怪的事情,它会按下注册按钮。脚本中没有指向此元素的代码。我通过 .sendkeys 直接传递变量的任何元素都会发生同样的情况,但如果它是字符串则不会。是因为它从变量发送直接输入还是可能是一个错误?顺便说一句,注册按钮位于网络表单的最后。

*编辑

我认为它在从usrname 写入每个变量后发送“返回”

在控制台中显示:

  • 兔子
  • 一巴掌

作为ursname的输出

如何在没有回车的情况下格式化ursname 的输出?以防万一这是实际问题?

我将添加usrname代码的构造

rand_name_1 = random.choice(open('dognames.txt').readlines())
rand_name_2 = random.choice(open('randomshit.txt').readlines())
rand_name_3 = random.choice(open('Randomlovenames.txt').readlines())

usrname = rand_name_1 + rand_name_2 + rand_name_3

所以我得出结论,它在变量输出中确实有一个 /n

我运行了一个解包并返回了这个结果

['d', 'u', 'k', 'e', '\n', 's', 'u', 'm', '\n', 'b', 'r', 'e', 'a', 'k', '\n']

如果我知道如何取出 /n,我会在此处发布。

【问题讨论】:

  • 我认为问题可能在于它在每个变量之后发送“返回”
  • 可能还想把代码放在上面使用的html元素上。

标签: python string selenium variables


【解决方案1】:

所以是随机列表中的 \n 导致了问题

我用过

rand_name_1 = rand_name_1.strip('\n')
rand_name_2 = rand_name_2.strip('\n')
rand_name_3 = rand_name_3.strip('\n')

要去掉回车,可能有一种更简单的方法,但它对我有用,暂时还可以

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-02
    • 2021-07-03
    • 1970-01-01
    • 2020-11-29
    • 2019-08-08
    • 2023-03-04
    • 1970-01-01
    • 2023-02-24
    相关资源
    最近更新 更多