在单击按钮之前不显示元素

时间:2017-04-19 09:50:32

标签: python python-3.x selenium selenium-webdriver

我正在尝试使用Selenium WebDriver 3.0.2编写我的第一个脚本。 我想自动从PACKT pub向图书馆添加一本书。 PACKT Pub Free Learning

在第一步中,我点击按钮登录以显示输入登录名和密码的字段。 在第二步中,我尝试查找输入字段,但是我的代码引发了异常" ElementNotVisibleException"。

我该如何处理这个问题?

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser = webdriver.Ie(r"C:\\Selenium\\IEDriverServer.exe")
browser.get('https://www.packtpub.com/packt/offers/free-learning')
browser.find_element_by_class_name('login-popup').click()
elem = browser.find_element_by_id('email')
elem.send_keys('selenium')

1 个答案:

答案 0 :(得分:1)

有2个input个字段具有相同的id属性。您可以使用

进行检查
print(len(browser.find_elements_by_id('email')))

第一个是隐藏的,所以你需要处理第二个:

elem = browser.find_elements_by_id('email')[1]
elem.send_keys('selenium')