为什么不能使用click()、clear()、send_keys()?

先放网址https://passport.58.com/

我能通过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

回到顶部