【问题标题】:Sending slash on send_keys on Selenium Chrome Driver on Linux在 Linux 上的 Selenium Chromedriver 中发送斜线
【发布时间】:2023-02-07 07:07:55
【问题描述】:

我一直在尝试将 URL 链接发送到文本区域。我正在使用 python3 和 Chrome 版本 109.0.5414.119。它在我的本地 OSX 机器上运行良好,但当我尝试在 Linux 机器上自动化时。它开始表现得很奇怪。所以我觉得这可能是与 Chrome 驱动程序相关的问题。

当我发送这样的 URL 时:

l.send_keys("https://google.com")

但变成:

/google.comhttps:

然后我尝试通过发送以下内容来调试此行为:

>>> l.send_keys("/") # /|
>>> l.send_keys("/") # |/

所以光标的位置在第二个/的行之前。我没想到会这样。我想知道你是否可以阐明如何解决这个问题?

【问题讨论】:

  • 尝试先点击textarea,然后使用send_keys()检查是否有效?

标签: python python-3.x selenium selenium-chromedriver automated-tests


【解决方案1】:

可能您正在尝试调用send_keys()<input> 字段中太早,甚至在元素正确具有 rendered 之前。


解决方案

理想情况下发送一个字符序列到您需要为 element_to_be_clickable() 引入 WebDriverWait 的元素,您可以使用以下任一 locator strategies

WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "element_css_locator"))).send_keys("https://google.com")

笔记:您必须添加以下导入:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

【讨论】:

    猜你喜欢
    • 2020-06-27
    • 2014-10-07
    • 2017-07-06
    • 2018-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多