Skip to main content
 首页 » 编程设计

python之无法使用 Selenium 在文本框中键入文本(python)

2025年05月04日21think

鉴于这是文本框的元素(从 Chrome inspect element https://www.mousehuntgame.com/login.php 获取):

<input name="username" class="username" type="text" placeholder="Enter  
your username" onkeyup="app.pages.LoginPage.checkEnter(event, 'login');"> 

我想在输入框中输入一些文本。我按名称搜索元素,并使用 send_keys() 在文本框中输入一些文本

elem = driver.find_element_by_name("username") 
elem.send_keys("aa") 

我收到一个异常:

ElementNotVisibleException: Message: element not interactable 

我怀疑我没有正确使用 find_element_by。我哪里错了?

另外:有没有办法在 Chrome 中告诉我从 find_element_by 方法中选择了什么?是否有某种方法可以在浏览器中突出显示我使用 find_element_by 方法选择的内容?

请您参考如下方法:

有两种形式:第一种用于注册,第二种用于登录...两者都有相同的输入字段,名称为 "username"

您可以使用下面的 CSS 选择器来选择所需形式的输入字段:

user_input_register = driver.find_element_by_css_selector("div.register input[name='username']") 
user_input_login = driver.find_element_by_css_selector("div.login input[name='username']") 

或者您可以为进一步的输入字段处理定义表单:

register = driver.find_element_by_class_name('register') 
login = driver.find_element_by_class_name('login') 
 
username_register = register.find_element_by_name('username') 
username_login = login.find_element_by_name('username')