python3+selenium3在百度首页中定位登录按钮并登陆

from selenium import webdriver
from time import sleep

driver=webdriver.Firefox()

driver.get("https://www.baidu.com/")

#定位登录按钮
driver.find_element_by_xpath("/html/body/div[1]/div[1]/div[4]/a").click()
sleep(2)

#点击弹出窗口的“账号密码登陆”方式
driver.find_element_by_xpath("//*[@id='TANGRAM__PSP_11__footerULoginBtn']").click()
sleep(2)

#定位窗口中的用户名和密码输入区域
driver.find_element_by_xpath("//*[@id='TANGRAM__PSP_11__userName']").send_keys("用户名")
sleep(2)
driver.find_element_by_name("password").send_keys("密码")
sleep(2)

点击登陆
driver.find_element_by_xpath("//*[@id='TANGRAM__PSP_11__submit']").click()



标注问题:用了id、name、linktext都不行,主要是定位不到登录按钮,也不知道是为什么,并且报错是

Traceback (most recent call last):
File "F:/pycharm/TEST/Fnid_Element/test.py", line 24, in <module>
driver.find_element_by_name("tj_login").click()
File "F:pycharmvenvlibsite-packagesseleniumwebdriver emotewebelement.py", line 80, in click
self._execute(Command.CLICK_ELEMENT)
File "F:pycharmvenvlibsite-packagesseleniumwebdriver emotewebelement.py", line 633, in _execute
return self._parent.execute(command, params)
File "F:pycharmvenvlibsite-packagesseleniumwebdriver emotewebdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "F:pycharmvenvlibsite-packagesseleniumwebdriver emoteerrorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message:

目前上网查了原因没搞清楚是为啥,如果有大佬告知一下也是感激不尽。

现在是用Xpath定位比较方便

原文地址:https://www.cnblogs.com/HYL1003597280/p/14290377.html