【问题标题】:Python Selenium-send_keys() function is not workingPython Selenium-send_keys() 函数不起作用
【发布时间】:2017-06-29 12:07:03
【问题描述】:

我正在使用 Selenium Webdriver 和 Python 来实现网页自动化。 但是,send_keys 功能似乎不起作用。 它不会引发任何错误或异常,但是它无法在文本字段中设置值。

我可以识别正确的字段,也可以点击清除字段数据,但是send_keys无法设置数据(值)

我使用 pycharm 工具在 python 中编写了以下脚本:

tx_power = web.find_element_by_id("tx_power-3")
tx_power.clear()
#After this I don't see 50 in text field
tx_power.send_keys("50")

HTML 代码是:

<div class="col-md-10">
<input id="tx_power-3" class="form-control" name="tx_power-3" value="21.00" type="text"/>
</div>

答案很明显,谢谢

【问题讨论】:

  • 你能删除 .clear() 行并尝试。默认情况下,sendkeys 会在输入前清除文本
  • @Ramesh 你可以考虑分享 url 以防万一它是公共 url 吗?谢谢
  • @santhoshkumar 我已经尝试通过删除 .clear() 函数,但没有工作,而且 1 个月前还有一个相同的脚本正在工作,当我现在尝试使用相同的脚本时它不起作用,可以我知道原因吗?
  • @ChandaKorat,tracetrack 在那里,但没有提到错误的描述。
  • @santhoshkumar sendkeys 默认情况下不会在输入前清除文本。

标签: selenium selenium-webdriver webdriver


【解决方案1】:

我不允许评论其他人的帖子,所以添加一个答案 - 您是否尝试在 clear() 和 sendkeys() 之间添加 wait()?

编辑的答案 - 请尝试以下代码 -

tx_power = web.find_element_by_id("tx_power-3")
tx_power.clear()
tx_power.send_keys(Keys.HOME)
tx_power.send_keys("50")

tx_power = web.find_element_by_id("tx_power-3")
tx_power.click()
tx_power.clear()
tx_power.click()
tx_power.send_keys("50")

【讨论】:

  • kapil 我曾尝试将 wait() 命令置于 clear() 和 sendkeys() 之间,但没有奏效,
  • @Ramesh - 我已经更新了我的答案,请尝试一下。希望它会奏效。
  • 我已经尝试了以上两个代码但没有工作。 @kapil,以前也一样,但现在不工作了我不知道它是否会依赖于浏览器和 python 和 selenium 版本?
  • 感谢您的回复,我尝试了相同的场景,但设置不同,它的工作正常。谢谢
  • @Ramesh - 你能接受我的回答并投票吗?
猜你喜欢
  • 2021-02-01
  • 2022-12-18
  • 1970-01-01
  • 2022-06-30
  • 2016-04-12
  • 2021-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多