1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import time
- import faker
- from selenium import webdriver
- from selenium.common import TimeoutException
- from selenium.webdriver.common.by import By
- from selenium.webdriver.support.wait import WebDriverWait
- from selenium.webdriver.support import expected_conditions as ec
- # 登陆的账号,注册了作者,发布过小说
- driver = webdriver.Chrome() # 实例化浏览器对象
- driver.maximize_window()
- wait = WebDriverWait(driver, 5) # 实例化等待对象
- login_url = "http://120.25.127.201:18001/user/login.html"
- driver.get(login_url) # 在新的窗口打开url
- username="15574113907"
- password="123456"
- el=wait.until(ec.presence_of_element_located((By.XPATH, "//input[@id='txtUName']")))
- el.send_keys(username)
- wait.until(ec.presence_of_element_located((By.XPATH, "//input[@id='txtPassword']"))).send_keys(password)
- wait.until(ec.presence_of_element_located((By.XPATH, "//input[@id='btnLogin']"))).click()
- # 根据username出现在首页作为等待条件,确保首页正常出现 你的元素的值是 15574113907 true false
- wait.until(ec.text_to_be_present_in_element((By.LINK_TEXT,username),username))
- # 显性等待作者专区元素并进行点击
- locator = ("link text", "作家专区")
- wait.until(ec.visibility_of_element_located(locator)).click()
- # 切换windows窗口
- handle = driver.window_handles[-1] # 获取窗口句柄
- driver.switch_to.window(handle) # 切换窗口
- # 点击章节管理
- # 显性等待章节管理元素出现并进行点击
- locator = ("partial link text", "章节管理")
- wait.until(ec.visibility_of_element_located(locator)).click()
- # 切换窗口句柄
- driver.switch_to.window(driver.window_handles[-1])
- try:
- # 如果有数据,点击某个元素
- locator = ("xpath", "//*[@id='hasContentDiv']/div[1]/div/a")
- wait.until(ec.visibility_of_element_located(locator)).click()
- except TimeoutException:
- # 如果没有数据,点击另一个元素
- locator = ("xpath", "//*[@id='noContentDiv']/div/a")
- wait.until(ec.visibility_of_element_located(locator)).click()
- except Exception:
- print("章节管理元素未找到")
- # 显性等待章节名元素出现并进行输入从操作
- locator = ("id", "bookIndex")
- wait.until(ec.visibility_of_element_located(locator)).send_keys(f"章节名-{str(int(time.time()))}")
- # 显性等待章节内容元素出现并进行输入从操作
- locator = ("id", "bookContent")
- wait.until(ec.visibility_of_element_located(locator)).send_keys(f"章节内容-{str(int(time.time()))}")
- # 显性等待收费元素出现并点击
- locator = ("css selector", '[name="isVip"][value="1"]')
- wait.until(ec.visibility_of_element_located(locator)).click()
- current_url = driver.current_url
- # 显性等待提交元素出现并进行点击
- locator = ("id", "btnRegister")
- wait.until(ec.visibility_of_element_located(locator)).click()
- time.sleep(5)
- driver.quit()
- # driver.execute_script(
- # "arguments[0].setAttribute('style',arguments[1]);",
- # el,
- # "border: 2px solid green;" # 边框,green绿色
- # )
|