【问题标题】:Autocomplete Input with Python Selenium Not WorkingPython Selenium 的自动完成输入不起作用
【发布时间】:2021-10-02 13:26:13
【问题描述】:

我正在尝试在此网站 google.com/flights 上填写自动完成输入,但似乎有些事情没有按预期工作。当我检查输出时,单击了输入,但输入中从未填充过“NYC”一词。测试是使用 Firefox 和 Geckodriver 完成的,最后一个稳定版本。

代码如下:

inputElement = self.driver.find_element_by_css_selector('div.e5F5td.BGeFcf div.dvO2xc.k0gFV input')
inputElement.send_keys('NYC')

这是执行代码后浏览器看到的屏幕截图。 https://snipboard.io/i1YVNC.jpg

【问题讨论】:

    标签: python selenium autocomplete geckodriver


    【解决方案1】:

    NYC 插入到inputElement 后,出现建议的输入。
    您可以选择其中之一。
    例如,要选择 LGA 机场,您可以单击此元素:

    self.driver.find_element_by_xpath("//li[@data-code='LGA']").click()
    

    更新
    在澄清问题后,最终通过使用 Actions 而不是 Selenium 驱动程序发送文本来解决。

    【讨论】:

    • 那是一个很棒的评论,我实际上只是要按 Enter 键来选择第一个,但你的方法更可靠。无论如何,我的问题是我什至没有看到建议框出现,因为输入中没有填写“NYC”这个词。
    • 没什么,这很奇怪。元素已加载并可点击,完全没有显示异常或错误。就像 send_keys 命令被忽略一样。这是浏览器的截图,代码执行snipboard.io/i1YVNC.jpg
    • 好吧,需要调试这个,但我不能..你能暂停一下,比如 10 秒睡眠,然后点击那个元素,然后短暂睡眠,然后再发送密钥到元素?
    • 大停顿已经存在,发送键前的点击也试过了。我什至尝试了点击 selenium native、使用 js 等的不同方法。似乎点击工作正常,但发送密钥时问题仍然存在。我怀疑它与自动完成的工作方式有关,但不知道如何修复它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 2021-10-23
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多