gpt4 book ai didi

python - 如何在不失去焦点的情况下发送按键进行输入?

转载 作者:行者123 更新时间:2023-12-01 00:07:09 26 4
gpt4 key购买 nike

我有一个 HTML <input>当用户键入时生成自动完成建议的字段。我想做一个自动化测试,其中 Selenium 驱动程序输入一些键,然后检查自动完成下拉列表的内容。问题是,如果我使用 Selenium send_keys方法,<input> 失去焦点,下拉菜单消失。有没有办法将 key 输入 <input>元素不失去焦点?

我做了一个简约的例子:

from selenium import webdriver

class TestLogin():
def setup_method(self, method):
self.driver = webdriver.Chrome()
self.vars = {}

def teardown_method(self, method):
self.driver.quit()

def test_minimalistic_registration(self):
self.driver.get("https://boxing-registration.herokuapp.com/")
self.driver.find_element_by_id("email-input").send_keys("lala")
print("done")

可以在最后一行打断点,可以看到焦点是<input>元素丢失。

最佳答案

在您提供的示例应用程序中,焦点仍集中在电子邮件输入上。您可以使用下面的代码进行检查:

driver.get("https://boxing-registration.herokuapp.com/")
email = driver.find_element_by_id("email-input")
email.send_keys("lala")
active_element = driver.execute_script("return document.activeElement")
print(active_element.get_attribute("outerHTML"))
assert active_element == email

您可以尝试使用ActionChains,例如:

ActionChains(driver).send_keys_to_element("lala").click(dropdown_list).perform()

关于python - 如何在不失去焦点的情况下发送按键进行输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59898745/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com