2014-09-28 2 views
2

사람들은 Python + Selenium auto에 관한 것입니다. 테스트.AttributeError : 'WebDriver'객체에 'id'속성이 없습니다.

ID를 사용하여 열린 페이지에 요소가 있는지 확인하려고 할 때 "AttributeError"문제가 발생합니다.

그것은 내가 아래 제목을 체크인 내 코드의 일부이다있어 경우에 나를 위해 작동

:

driver = webdriver.Firefox() 
    driver.get("https://accounts.google.com/ServiceLogin?sacu=1&scc=1&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&hl=ru&service=mail") 
    wait = WebDriverWait(driver, 10) 
    element = wait.until(EC.element_to_be_clickable((By.ID,"Email")))  
    self.assertIn("Gmail", driver.title) - works fine 
    self.assertIn("Email", driver.id) - AttributeError occurred 

사람이이 문제를 도와 드릴까요?

+0

전체 오류 메시지. – bmargulies

답변

3

driverwebdriver.Firefox의 인스턴스이며 현재 액세스중인 웹 페이지를 나타냅니다. 그렇기 때문에 title 속성에 액세스 할 수 있습니다.

하지만 원하는 것은 페이지에 요소id입니다. 그렇다면 먼저 찾아야합니다. 아마도 당신은 이것을 찾고 있습니까?

email_input = driver.find_element_by_id("Email") 
self.assertIn("Email", email_input.get_attribute('id')) 

WebDriver가 요소를 찾을 수 없으면 NoSuchElementException가 발생합니다. 따라서 ID에 '이메일'이 포함 된 페이지의 요소 만 확인하려면 다음과 같이 오류가 발생하지 않았 음을 알리고 오류를 발생시킬 수 있습니다.

관련 문제