Selenium webdriver - 元素可以找到但不可见?

时间:2015-09-08 15:48:29

标签: python selenium selenium-webdriver webdriver

我正在开发一个个人项目来制作一个python脚本来登录一个站点并为我做一些任务,我决定使用Selenium web驱动程序。目前我被困在登录部分。

driver = webdriver.Chrome()
driver.get("https://pucatrade.com")

puca_username = "example@username"
user_fieldID = "login"

user_fieldelement = driver.find_element_by_id(user_fieldID)
user_fieldelement.send_keys(puca_username)

但是,它在send_keys调用上给了我selenium.common.exceptions.ElementNotVisibleException: Message: element not visible。我知道find_element_by_id找到了该元素,因为我已经使用print user_fieldelement.get_attribute('id'),进行了测试并打印了登录信息。所以如果find_element_by_id工作可以找到元素,send_keys怎么可以' t?

2 个答案:

答案 0 :(得分:4)

有多个输入div 。您感兴趣的是位于id="home-login" form = driver.find_element_by_id("home-login") # login user_fieldelement = form.find_element_by_id(user_fieldID) user_fieldelement.send_keys(puca_username) # password passwd_fieldelement = form.find_element_by_id(passwd_fieldID) user_fieldelement.send_keys(puca_password) 内的最右侧登录表单中的那个:

self.favouriteStateChanged()

答案 1 :(得分:-1)

我仍然不确定为什么有些网站有很多具有相同名称和身份的字段...但由于我只对可见的字段感兴趣,所以我做了这个小功能来获得正确的字段。

Text::CSV

self.sel是Selenium驱动程序对象。