【问题标题】:Alternative to send_keys() - selenium pythonsend_keys() 的替代方案 - selenium python
【发布时间】:2020-03-31 16:33:44
【问题描述】:

我想编写这个 Python 代码的更快替代方案:

driver.get(myUrl)
message = driver.find_element_by_id('message')
send = driver.find_element_by_id('submit')

for _ in range(myRange):
    message.send_keys(myText)
    send.click()

作为替代方案,尝试使用 execute_script()execute_async _script() 使用 Selenium 执行 JavaScript:

myJS = "document.getElementById('message').setAttribute('value', 'myText')"

for _ in range(myRange):
    driver.execute_script(myJs)
    send.click()

在第一次循环后它们都停止了,没有任何错误。

是什么阻止了第二个脚本循环遍历整个范围? 除了send_keys(),还有其他快速的替代方案吗?

【问题讨论】:

  • 您可以填充剪贴板,然后粘贴文本。 (发送 ctrl-v 的键)

标签: javascript python selenium loops selenium-webdriver


【解决方案1】:

不确定测试的上下文以及为什么要这样做,但应该这样做。

driver.get(myUrl)

for _ in range(myRange):
    # I would suggest using the explicit wait for the element staleness check here before
    # entering the text
    driver.find_element_by_id('message').send_keys(myText)
    driver.find_element_by_id('submit').click()

【讨论】:

  • 由于某种原因在第一次迭代后失败。
  • 第一次迭代后您是否收到任何消息?
猜你喜欢
  • 2010-11-15
  • 1970-01-01
  • 2018-08-09
  • 2021-08-02
  • 2018-06-18
  • 1970-01-01
  • 2021-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多