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