2017-01-12 12 views
0

私はこれを楽しいものにしようとしています。 私はあなたが何を次のコード自動FacebookのログインがPythonのセレンで失敗する

import time 
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.common.by import By 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.common.exceptions import TimeoutException 


def init_driver(): 
    driver = webdriver.Firefox() 
    driver.wait = WebDriverWait(driver, 5) 
    return driver 


def login(driver,page,inputUsername,inputPassword): 
    driver.get(page) 
    try: 
     email1 = driver.wait.until(EC.presence_of_element_located(
      (By.ID,"email"))) 
     email1.send_keys(inputUsername) 
     password1 = driver.wait.until(EC.presence_of_element_located(
      (By.ID,"pass"))) 
     password1.send_keys(inputPassword) 
     button1 = driver.wait.until(EC.visibility_of_element_located(
      (By.ID,"u_0_n"))) 
     button1.click() 
    except TimeoutException: 
     print("Box or Button not found in google.com") 


if __name__ == "__main__": 
    page = "https://facebook.com" 
    username = "" 
    password = "" 
    driver = init_driver() 
    login(driver, page,username,password) 
    time.sleep(5) 
    driver.quit() 
+0

あなたのコードは私にとって役に立ちます。 – furas

答えて

0

問題は、この部分に

button1 = driver.wait.until(EC.visibility_of_element_located(
     (By.ID,"u_0_n"))) 

ボタンIDでログインボタン用 正しいIDが

u_0_1 

ない

u_0_n 
する必要がありますので、Webページはセレンで開かれたときに異なる場合があります