为什么不能使用click()、clear()、send_keys()?
我能通过xpath定位到网页元素(用户名)
↑无报错
却不能使用click()、clear()、send_keys()
↑报错:
Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/untitled/t.py", line 13, in <module>
browser.find_element_by_xpath("//input[@id='usernameUser']").click()
File "C:UsersAdministratorAppDataRoamingPythonPython35site-packagesseleniumwebdriverremotewebelement.py", line 77, in click
self._execute(Command.CLICK_ELEMENT)
File "C:UsersAdministratorAppDataRoamingPythonPython35site-packagesseleniumwebdriverremotewebelement.py", line 494, in _execute
return self._parent.execute(command, params)
File "C:UsersAdministratorAppDataRoamingPythonPython35site-packagesseleniumwebdriverremotewebdriver.py", line 236, in execute
self.error_handler.check_response(response)
File "C:UsersAdministratorAppDataRoamingPythonPython35site-packagesseleniumwebdriverremoteerrorhandler.py", line 192, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotVisibleException:太多了,略
Screenshot: available via screen
我怀疑是这个网站做的保护措施,希望大家能帮我看看0.0
回答:
#我实际测试了下,因为usernameUser 这个id 是hidden的from selenium.webdriver.common.keys import Keys
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('https://passport.58.com//')
driver.find_element_by_xpath("//div[@class='pwdlogin']").click()#先点击密码登录才会有usernameUser这个id元素
driver.find_element_by_xpath("//input[@id='usernameUser']").click()#ok
回答:
不是不能使用,而是这个页面刚进入的时候是扫码登陆,需要先跳转一下,然后密码框其实是隐藏的,需要执行一段JS显示出来.
以上是 为什么不能使用click()、clear()、send_keys()? 的全部内容, 来源链接: utcz.com/a/162003.html