使用selenium和python发布到Facebook墙

时间:2013-01-11 09:40:13

标签: python facebook firefox selenium-webdriver

我在Windows 7上使用firefox 18.0和selenium webdriver与python(2.7)绑定。使用所有这些我已经能够登录到Facebook,转到用户的页面,将文本发送到墙上的帖子字段。但当我点击发布时,它不发布。我观察到,当我将密钥发送到墙贴字段时,文本显示为淡色,但是当我手动键入字段时,文本显示为暗。这可能是问题所在。我开始这样做是为了看它是否可以完成......没有真正的目的..但是现在它不起作用,它让我发疯了。有什么想法吗?

    driver = self.driver
    driver.get("https://www.facebook.com/")
    driver.find_element_by_id("email").clear()
    driver.find_element_by_id("email").send_keys("mailid@email.com")
    driver.find_element_by_id("pass").clear()
    driver.find_element_by_id("pass").send_keys("password")
    driver.find_element_by_id("u_0_4").click()

    #i wanted to post multiple times.. but it doesn't work even once
    for i in range(1,11):
        driver.get("https://www.facebook.com/<username>")
        el=driver.find_element_by_id("u_0_1r")#post field
        el.clear()
        print i
        el.click()
        el.clear()
        el.send_keys(Keys.RETURN)
        time.sleep(1)
        el.click()
        #assume fwords is a list of words
        el.send_keys('test output: '+random.choice(fwords))
        el.click()
        el.click()
        time.sleep(2)
        driver.find_element_by_id("u_0_1m").click()
        driver.find_element_by_xpath("//form[@id='u_0_1l']/div/div[4]/div/ul/li[2]/label/input").click()
        time.sleep(8)

1 个答案:

答案 0 :(得分:1)

适用于硒的镀铬驱动程序。