''' Contributed by Lin Junhong et al. 2023-06.''' from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.common.exceptions import UnexpectedAlertPresentException, NoAlertPresentException import random, time import string # 初始化webdriver # driver = webdriver.Remote('http://localhost:4444/wd/hub', DesiredCapabilities.CHROME) # driver.implicitly_wait(10) driver = webdriver.Chrome("C:\\Users\\12993\AppData\Local\Programs\Python\Python38\\chromedriver.exe") def test_next_article(): try: driver.get("http://118.25.96.118:90") assert 'English Pal -' in driver.page_source # login elem = driver.find_element_by_link_text('登录') elem.click() uname = 'abcdefg' password = 'abcdefg' elem = driver.find_element_by_id('username') elem.send_keys(uname) elem = driver.find_element_by_id('password') elem.send_keys(password) elem = driver.find_element_by_xpath('/html/body/div/button') # 找到登录按钮 elem.click() time.sleep(0.5) assert 'EnglishPal Study Room for ' + uname in driver.title for i in range(50): time.sleep(0.1) # 找到固定按钮 elem = driver.find_element_by_xpath('//*[@id="load_next_article"]') elem.click() except Exception as e: print(e) def test_local_next_article(): try: driver.get("http://127.0.0.1:5000") assert 'English Pal -' in driver.page_source # login elem = driver.find_element_by_link_text('注册') elem.click() uname = 'abcdefg' password = 'abcdefg' elem = driver.find_element_by_id('username') elem.send_keys(uname) elem = driver.find_element_by_id('password') elem.send_keys(password) elem = driver.find_element_by_id('password2') elem.send_keys(password) time.sleep(0.5) elem = driver.find_element_by_class_name('btn') # 找到提交按钮 elem.click() time.sleep(0.5) try: WebDriverWait(driver, 1).until(EC.alert_is_present()) driver.switch_to.alert.accept() except (UnexpectedAlertPresentException, NoAlertPresentException): pass time.sleep(0.5) assert 'EnglishPal Study Room for ' + uname in driver.title for i in range(50): time.sleep(0.1) # 找到固定按钮 elem = driver.find_element_by_xpath('//*[@id="load_next_article"]') elem.click() except Exception as e: print(e)