【selenium】使用python+selenium访问网站并跳转到其他网站代码
(记录于24.1.19,准备发布结果保存成草稿忘记了)
我使用的是学校的官网,大家也可以选择其他网站
部分数据内容解释:
https://jwcw.xatu.edu.cn/ 我选择打开的网址
/html/body/div[3]/div[1]/div[2]/ul/li[1]/a 我想让鼠标或者键盘点击界面的图标xpath
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
# Edge浏览器
driver = webdriver.Edge()
#将浏览器最大化
driver.maximize_window()
#打开浏览器
driver.get('https://jwcw.xatu.edu.cn/')
print("当前打开的网址是:")
print(driver.current_url)
time.sleep(2)
##本代码使用的是强制等待
##显示等待和隐式等待尚未尝试
# # 设置隐式等待
# driver.implicitly_wait(3)
#-----------------------界面滑动----------------------------------
# # 滑动到最底部
# js_button = 'document.documentElement.scrollTop=100000'
# # 执行js,滑动到最底部
# driver.execute_script(js_button)
# # 暂缓时间,点击下一页
# time.sleep(2)
# 将元素滚动到可视范围之内
# 场景:有时候元素在比较下面,需要先滚动下页面才能看到元素并点击
# document.getElementById(“id”).scrollIntoView()
# 或者分成两行写:
# el = document.getElementById(“id”)
# el.scrollIntoView()
# 目标元素,使用js语言
ele = driver.find_element('xpath', '/html/body/div[3]/div[1]/div[2]/ul/li[1]/a')
# 向下滚动至目标元素可见
js = "arguments[0].scrollIntoView();"
driver.execute_script(js, ele)
# # 向上滚动至目标元素可见
# js = "arguments[0].scrollIntoView(false);"
# driver.execute_script(js, ele)
time.sleep(5)
#----------------------------------------------------------
#定位教务管理系统
# driver.find_element_by_xpath("/html/body/div[3]/div[1]/div[2]/ul/li[1]/a") ##旧版本使用代码
driver.find_element(By.XPATH,'/html/body/div[3]/div[1]/div[2]/ul/li[1]/a').send_keys(Keys.ENTER) ##click是使用不了的情况下
# driver.find_element_by_link_text("教务管理信息系统登录") ##使用link定位
#双击打开
#driver.double_click()
# el = driver.find_element(By.XPATH,'/html/body/div[3]/div[1]/div[2]/ul/li[1]/a') # 找到元素
# ActionChains(driver).move_to_element(el).click().perform()
# el = driver.find_element(By.XPATH,'/html/body/div[3]/div[1]/div[2]/ul/li[1]/a') # 找到元素
# driver.execute_script("arguments[0].click();", el)
#href界面属性,需要获得元素链接才可以打开
el = driver.find_element(By.XPATH,'/html/body/div[3]/div[1]/div[2]/ul/li[1]/a')
url = el.get_attribute("href");
driver.get(url);
time.sleep(2)
# 本界面直接打开
# 定位搜索学号输入框
text_label = driver.find_element(By.XPATH,'//*[@id="username"]')
# 在搜索框中输入 学号
text_label.send_keys('111')
print("正在输入账号")
time.sleep(1)
# #-------------界面打开新窗口需要的代码-------------------------------
# # 浏览器窗口切换
# # 获取打开的多个窗口句柄
# windows = driver.window_handles
# # 切换到当前最新打开的窗口
# driver.switch_to.window(windows[-1])
# #----------------------------------------------------------
# 定位搜索密码输入框
text_label = driver.find_element(By.XPATH,'//*[@id="password"]')
# 在搜索框中输入 密码
text_label.send_keys('123')
print("正在输入密码")
time.sleep(1)
# #点击7天免密登陆,没成功
# driver.find_element(By.XPATH,'//*[@id="rememberMe"]a').send_keys(Keys.ENTER)
# time.sleep(2)
#点击登陆按钮
driver.find_element(By.XPATH,'//*[@id="login_submit"]').send_keys(Keys.ENTER)
time.sleep(2)
#滑动验证模块不会
#不关闭结束界面