我正在尝试编写一个登录facebook的脚本。根据一些教程,到目前为止我已经写了这篇文章。在
当执行以下命令时,它只启动Firefox,转到脸谱网在那里等待却失败了。用户名和密码不会被输入,登录按钮也不会被点击。在
我会做错什么?我想我的XPath id是正确的,用Firepath检查过了。如有任何提示,我们将不胜感激。在
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
import unittest
class LoginTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.get("https://www.facebook.com/")
def test_Login(self):
driver = self.driver
fbUsername = "myemail@gmail.com"
fbPassword = "mypassword"
emailFieldID = ".//*[@id='email']"
passFieldID = ".//*[@id='pass']"
loginButtonXPath = ".//input[@value='Log In']"
flLogoXpath = "(//a[contains(@href, 'logo')])[1]"
emailFieldElement = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_id(emailFieldID))
passFieldElement = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_id(passFieldID))
loginButtonElement = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_id(loginButtonXPath))
emailFieldElement.click()
emailFieldElement.clear()
emailFieldElement.send_keys(fbUsername)
passFieldElement.click()
passFieldElement.clear()
passFieldElement.send_keys(fbPassword)
loginButtonElement.click()
WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_id(flLogoXpath))
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
我用java做了同样的测试。你可能想看看你的错误。在
你很亲密!在
这里您做错了,您将选择器声明为}
xpath
,并且使用该方法使用id搜索{将
find_element_by_id
更改为find_element_by_xpath
,您的问题就会得到解决。在相关问题 更多 >
编程相关推荐