我想使用Selenium自动登录网站https://clientes.ecuabots.com/user/login
这是我的代码:
class EcuabotsTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome(executable_path='/mnt/c/Users/Barbara/Documents/Formación Continua/Selenium/chromedriver.exe')
driver = self.driver
driver.get('https://clientes.ecuabots.com/user/login')
driver.maximize_window()
#driver.implicitly_wait(15)
def test_search_email_input(self):
email_field = self.driver.find_elements_by_xpath('//*[@id="input-15"]')
email_field.clear()
email_field.send_keys('email@email.com)
if __name__ == "__main__":
unittest.main(verbosity=2)
但当我尝试这种方式时,我会出现错误:AttributeError"list"对象没有属性send_keys
我试图使用email_field=self.driver.find_element_by_xpath('//[@id="input-15"]'((单数(,但我得到了这个错误:selenium.com.mon.exceptions.NoSuchElementException:消息:没有这样的元素:{quot;方法"xpath">
我尝试了用id、CSS选择器和完整的XPath查找电子邮件输入,但它不起作用
我尝试使用email_field[0].send_keys('email@email.com)但是我再次得到第一个错误
事先非常感谢您的帮助!
- 您必须等待页面加载并在那里显示元素
- 您应该使用
find_element_by_xpath
,而不是find_elements_by_xpath
- 您的定位器错误
试试这个:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
email_input_css = 'input[placeholder="Email Address"]'
wait = WebDriverWait(browser, 20)
email = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, email_input_css)))
email_field.clear()
email_field.send_keys('email@email.com)