import unittest
import re
import time
from selenium import webdriver
#from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.select import Select
#Navigate to Home page
class VerifyMortgageAmount (unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.get("http://ia.ca")
def test_verify_mortgage_amount (self):
driver = self.driver
#Click on Loans in the menu
time.sleep(5)
driver.find_element_by_xpath(".//*[@id='nav-secondaire']/div[1]/ul/li[4]/a/span").click()
#Click on Mortgages
driver.find_element_by_link_text("Mortgages").click()
#Click on Calculate your payments
driver.find_element_by_link_text("Calculate your payments").click()
#Set Purchase Price value to 500,000
driver.find_element_by_xpath(".//*[@id='PrixProprietePlus']").click()
driver.find_element_by_xpath(".//*[@id='PrixProprietePlus']").click()
#Set Down Payment value to 50,000
driver.find_element_by_xpath(".//*[@id='MiseDeFondPlus']").click()
#Move to Amortization
Amortise = Select (driver.find_element_by_id("Amortissement"))
#Change the term to 15 years
Amortise.select_by_value("15")
#Move to Payment frequency
Frequence = Select (driver.find_element_by_id("FrequenceVersement"))
#Change it to Weekly
Frequence.select_by_index(3)
# Clear Interest rate
driver.find_element_by_name("TauxInteret").clear()
# Set Interest rate to 5%
driver.find_element_by_name("TauxInteret").send_keys("5")
#Click on Calculate Button
driver.find_element_by_xpath(".//*[@id='btn_calculer']").click()
#Capture amount
Amount = driver.find_element_by_xpath("//span[@id='paiement-resultats']").text
print (Amount)
num = re.sub(r'\D', "", Amount)
print (num)
def tearDown(self):
self.driver.close()
if __name__ == "__main__":
unittest.main()
使用上述脚本,无法打印“Amount”和“num”值(给出空值)
如果作为简单脚本执行(没有unittest,如下所示),则正确显示“Amount”值。在
^{pr2}$
出于某种原因,你的“计算”按钮需要点击两次才能起作用
此外,通过xpath查找所有内容,也会使事情变得更困难。大多数时候你只需要像我在这里所做的那样,按id或类查找。当然,硒是非常反复试验的。所以用你的判断。不知道为什么按钮需要点击两次。也许是javascript?在
相关问题 更多 >
编程相关推荐