python selenium模块学习

最近心血来潮想学习selenium来为自己的BS课设加入自动化的操作,以下是我是我的开始学习之路。文中的大部分代码也是来自其他人,原创很少。如果侵权可联系我删除


首先初学是用selenium访问一个网页的代码‘

# coding:utf-8

from selenium import webdriver
import time

driver = webdriver.Chrome()# 这里可以选用Firefox 或者edge之类的浏览器,但前提需要下载驱动
driver.get("http://www.baidu.com")

driver.set_window_size(1680,800)  # 设置窗口大小
# driver.find_element_by_id("kw").send_keys("zsw")  #id查找
driver.find_element_by_xpath('//*[@id="kw"]').send_keys("zsw")  # xpath查找
driver.find_element_by_id("su").click()# 找到索搜按钮,按下搜索
time.sleep(3)#为了观看效果,停了三秒钟
driver.quit()   #退出
 
 
 
之后学习如何在浏览器中能够进行前进后退刷新操作,代码如下
from selenium import webdriver

driver = webdriver.Chrome()

first_url = 'https://www.baidu.com/'
print("now access %s" % first_url)
driver.get(first_url)

second_url = "http://www.163.com/"
print("now access %s" % second_url)
driver.get(second_url)

print("back to %s" % first_url)
driver.back()#后退


print("forward to %s" % second_url)
driver.forward()#前进

driver.refresh()# 刷新页面
print("刷新页面")

driver.quit()
这是浏览器最简单的几个功能。然后就可以对一些网页进行操作了,比如进入有道进行翻译。但下面的代码我将click改成了submit用于对提交功能的学习
from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("http://www.youdao.com/")
driver.find_element_by_id("translateContent").send_keys("hello")
driver.find_element_by_id("translateContent").submit()
time.sleep(4)
driver.quit()
达到了翻译hello的作用
再后来学习了登陆邮箱大法,不过这个功能当时书上讲了,却要涉及到frame上的内容,因此书上代码有问题,后来经过一番查找资料,在贴吧看到了正确的解决方案,而且因为这个frame加载较慢,需要time.sleep(5),否则会产生找不到元素的错误,这些在后面的学习中都会改进,webdriver有他的等待函数,初学者可以用time里的sleep先代替。
# coidng utf-8
from selenium import webdriver
import time

driver = webdriver.Chrome()

driver.get("http://mail.126.com/")
time.sleep(5)

driver.switch_to.frame("x-URS-iframe")
# driver.find_element_by_id("idInput").clear()
driver.find_element_by_css_selector(".j-inputtext.dlemail").send_keys("yoyo")
driver.find_element_by_css_selector(".j-inputtext.dlpwd").send_keys("123")

driver.find_element_by_id("dologin").click()
time.sleep(4)
driver.quit()


"""
# coding:utf-8 
from selenium import webdriver 
driver = webdriver.Firefox() 
driver.get("http://mail.126.com/") 
driver.implicitly_wait(20) 

driver.switch_to.frame("x-URS-iframe") 
# 方法一:取单个class属性 
driver.find_element_by_class_name("dlemail").send_keys("yoyo") 
driver.find_element_by_class_name("dlpwd").send_keys("12333") 

# 方法二:定位一组取下标定位(乃下策) 
driver.find_elements_by_class_name("j-inputtext")[0].send_keys("yoyo") 
driver.find_elements_by_class_name("j-inputtext")[1].send_keys("12333") 

# 方法三:css定位 
driver.find_element_by_css_selector(".j-inputtext.dlemail").send_keys("yoyo") 
driver.find_element_by_css_selector(".j-inputtext.dlpwd").send_keys("123") 

# 方法四:取单个class属性也是可以的 
driver.find_element_by_css_selector(".dlemail").send_keys("yoyo") 
driver.find_element_by_css_selector(".dlpwd").send_keys("123") 

# 方法五:直接包含空格的CSS属性定位大法 
driver.find_element_by_css_selector("[class='j-inputtext dlemail']").send_keys("yoyo")
"""
这些就是今天所学的,后面会将在书上学到的知识继续贴上来
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值