鉴于这是文本框的元素(从 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')
