selenium使用记录

首先是大体用法。直接用代码说明。

import selenium
from selenium import webdriver
import os
import time

uid = "1111"         # 学号
pwd = "1111"   # 密码

# 这部分用来设置运行时不显示浏览器窗口
#chrome_options = Options()
#chrome_options.add_argument("--headless")
# 模拟浏览器进行访问
browser = webdriver.Chrome()
browser.get("https://ids.xmu.edu.cn/authserver/login?service=https://xmuxg.xmu.edu.cn/login/cas/xmu")

time.sleep(1)
# 通过find_element_by_xpath来定位用户名和密码的输入框
browser.find_element_by_xpath("//form[@id='casLoginForm']/p[1]/input").send_keys(uid)
browser.find_element_by_xpath("//form[@id='casLoginForm']/p[2]/input[@id='password']").send_keys(pwd)
browser.find_element_by_xpath("//form[@id='casLoginForm']/p[4]/button").click()

time.sleep(1)
browser.find_element_by_xpath("//div[@class='box_main box_flex']/div[2]").click()

time.sleep(1)
#browser.find_element_by_id("我的表单").click()
browser.find_element_by_xpath("//div[@class='gm-scroll-view']/div[2]").click()
#browser.find_element_by_xpath("/html/body/div[1]/div[1]/div/div/div/div[1]/div[2]/div/div[3]/div[2]").click()

#final_text = browser.find_element_by_xpath("//*[@id='bak_0']/div[2]/div[2]/div[2]/div[2]").text


然后在跑代码的时候,可能遇到报错selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element:,这时候有下列三种解决办法:
1、可能是iframe的问题,解决方法见相关博客
怎么知道是不是呢,F12调出网页代码,然后搜索frame,看看自己想找的部分是不是在iframe框架里面。

2、如果要搜索的是形如:

browser.find_element_by_class_name(‘btn-search tb-bg’).click()
或
browser.find_element_by_class_name(‘btn-search.tb-bg’).click()

这时,应该去掉空格后面的部分,改为:

browser.find_element_by_class_name(‘btn-search’).click()

3、直接检查自己的xpath路径是不是对的。
F12调出网页代码,然后ctrl F,在代码里搜索该xpath,能搜到的话就是没问题的;不能搜到说明写错了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值