Python 如何在Selenium Webdriver中识别输入框

Python 如何在Selenium Webdriver中识别输入框,python,selenium,Python,Selenium,我第一次使用SeleniumWebDriver,运行的是一个非常简单的脚本,但它不起作用。我想打开Firefox,转到LinkedIn,然后在电子邮件登录字段中输入我的电子邮件地址。使用下面的代码,我能够让前两个操作正常工作,但脚本没有正确识别电子邮件字段,因此我的电子邮件地址从未在任何地方键入 browser = webdriver.Firefox() #Get local session of firefox browser.get("http://www.linkedin.com")

我第一次使用SeleniumWebDriver,运行的是一个非常简单的脚本,但它不起作用。我想打开Firefox,转到LinkedIn,然后在电子邮件登录字段中输入我的电子邮件地址。使用下面的代码,我能够让前两个操作正常工作,但脚本没有正确识别电子邮件字段,因此我的电子邮件地址从未在任何地方键入

browser = webdriver.Firefox()   #Get local session of firefox
browser.get("http://www.linkedin.com")  #Load page
elem = browser.find_element_by_name("session_key-login")  #Find the login box
elem.send_keys("email@gmail.com" + Keys.RETURN)   #Enter email into login box
如何正确识别电子邮件登录框并将其传递给“elem”?

您怎么做

elem.send_keys("email@gmail.com")
更新


您使用的标识符不正确,您可以使用以下任一项

elem=browser.通过id(“会话密钥登录”)查找元素

elem=browser.通过名称(“会话密钥”)查找元素
尝试给予
元素。发送\u键(“email@gmail.com");

而不是

    elem.send_keys("email@gmail.com" + Keys.RETURN)

我刚试过,但没用。我认为问题在于“session\u key-login”不是识别电子邮件输入框的正确方法,但我不确定如何命名它,我在Firefox上检查元素时看到了该标识符。尝试给elem=browser。按id(“session\u key-login”)而不是elem=browser查找元素。按名称(“session\u key-login”)查找元素太棒了,谢谢,效果很好。奇怪的是,find_element_by_name函数可以很好地查找页面主体中的输入字段(即“firstName”找到了first name输入框),但不能查找页眉中的输入字段。无论如何,我会用这个id来代替@Misha,刚刚查看了Linkedin.com和
id=session\u key-login
name=session\u key
。我也更新了答案。如果您认为答案对您有帮助,请将答案标记为正确。