Python用Selenium基础学习总结

如果需要Python使用Selenium,首先不是写代码,或者打开什么软件,

需要网上下载Python X.X(最新版本),

需要使用cmd下载环境运行的东西,比如Selenium就需要适配,

还有别的这里就不多说,可以去参考别人的一些文章,目前感觉内容都比较详细。

怎么样操作都有详细标注,从上到下依次按顺序进行。

自己也是在网上学习了一番,借鉴一些大佬的文章。


from selenium import webdriver  # 定义selenium



import time  # 定义时间



from selenium.webdriver.common.by import By  # 定义By,不然用不了浏览器元素



from selenium.webdriver.common.keys import Keys  # 定义Keys,可以使用键盘输入,例如:键盘的回车



# 定义一个chromedriver 锁定电脑的chromedriver.exe位置

chromedriver = 'E:\Python\chromedriver.exe'



# 配置对象

option = webdriver.ChromeOptions()



option.add_experimental_option("detach", True)



option.add_experimental_option(

    'excludeSwitches', ['enable-logging', 'enable-automation'])



# 创建浏览器驱动对象

driver = webdriver.Chrome(executable_path=chromedriver, options=option)



# driver.implicitly_wait(5)

# 隐性等待,等待5秒,最长等待时间为30秒



# 将浏览器最大化---------------------------------------------------------------------------------------

print("浏览器最大化")



driver.maximize_window()  # driver.minimize_window() 这是窗口最小化



# 获取页面的宽和高,以及坐标

print(driver.get_window_rect())



# 获取现在页面的宽和高

print(driver.get_window_size())



# (1)打开“”内相对应网址

print("打开网址http://www.baidu.com")



driver.get("http://www.baidu.com")



# (1)打开的“”网址所在页面停留的时间

time.sleep(1)

# -----------------------------------------------------------------------------------------------------



# 将浏览器设定相对分辨率大小边宽-------------------------------------------------------------------------

# 设定分辨率为 1024*768

print("浏览器分辨率1024*768")



driver.set_window_size(1024, 768)



# 所设定的浏览器分辨率调整的时间(也可以不设定)

time.sleep(1)



# 获取页面的宽和高,以及坐标

print(driver.get_window_rect())



# 获取现在页面的宽和高

print(driver.get_window_size())



# (2)打开“”内相对应网址

print("打开网址http://www.4399.com")



driver.get("http://www.4399.com")



# (2)打开的“”网址所在页面停留的时间

time.sleep(1)

# -----------------------------------------------------------------------------------------------------



# 将浏览器设定相对分辨率大小边宽以及指定位置------------------------------------------------------------------

# 设定浏览器分辨率居中设定

print("将浏览器居中设定")



driver.set_window_rect(x=290, y=40, height=770, width=1026)



# 获取页面的宽和高,以及坐标

print(driver.get_window_rect())



# 获取现在页面的宽和高

print(driver.get_window_size())



# (3)打开“”内相对应网址

print("打开网址http://www.baidu.com")



driver.get("http://www.baidu.com")



# (3)打开的“”网址所在页面停留的时间

time.sleep(2)



# 找到输入框 (kw后面会具体解释,还有下面具体的标签)

shuru = driver.find_element(By.ID, 'kw')



# 在输入框中放我们制定的文字

shuru.send_keys('网易云音乐')



print("输入网易云音乐")



# 为了我们肉眼可见,这里休眠2秒,再进行下面的操作

time.sleep(2)



# 找到百度一下按钮

sousuo = driver.find_element(By.ID, 'su')



# 点击某个对象(点击百度一下)

sousuo.click()



print("搜索")



time.sleep(2)



# 获取当前窗口句柄 (就是百度的这个页面的句柄)

window1 = driver.current_window_handle



print("当前窗口的句柄:", window1)

# 当前窗口的句柄: CDwindow-0E25EC2F6B97FF18D16BE3610054938C



# 找到网易云音乐并点击

wangyi = driver.find_element(

    By.XPATH, '//*[@id="1"]/div/div[1]/h3/a[1]/em').click()



print("点击打开网易云网址")



time.sleep(4)

# --------------------------------------------------------------------------------------------------



# 获取当前所有页面句柄

windows = driver.window_handles



print("全部窗口的句柄:", windows)

#全部窗口的句柄: ['CDwindow-0E25EC2F6B97FF18D16BE3610054938C', 'CDwindow-B1E215F6AE1EE7C6D4CFF5A088397665']



driver.switch_to.window(windows[1])  # 切换当新页面(网易云页面)



# 获取当前窗口句柄(如果没有切换页面的话,不是眼睛看到的窗口页,还是原本百度页面的句柄,切了的话才是眼睛看到网易云页面的句柄)

window1 = driver.current_window_handle



print("当前窗口的句柄:", window1)

#当前窗口的句柄: CDwindow-B1E215F6AE1EE7C6D4CFF5A088397665



print("打印当前页网址:", driver.current_url)  # 打印当前页url(可以不需要,看情况而定)



driver.switch_to.window(windows[0])  # 切换回原页面(百度页面)



time.sleep(1)



driver.switch_to.window(windows[1])  # 切换当新页面(网易云页面)



time.sleep(1)



driver.close()  # 关闭新页面(网易云页面)



print("关闭网易云页面")



driver.switch_to.window(windows[0])  # 切换回原页面(百度页面)



print("回到百度页面")



time.sleep(2)



# ---------------------------------------------------------------------------------------------------



# 新开一个窗口,通过执行js来新开一个窗口

window2 = 'window.open("https://www.sogou.com");'



driver.execute_script(window2)



print("打开新窗口https://www.sogou.com 搜狗")



time.sleep(4)



# 获取当前页面句柄(百度页面)

window2 = driver.current_window_handle



print("当前窗口的句柄:", window2)



# 获取当前所有页面句柄

windows = driver.window_handles



print("全部窗口的句柄:", windows)



driver.switch_to.window(windows[1])  # 切换当新页面(搜狗页面)



# 获取当前页面句柄(搜狗页面)

window2 = driver.current_window_handle



print("当前窗口的句柄:", window2)



driver.close()  # 关闭新页面(搜狗页面)



print("关闭搜狗页面")



driver.switch_to.window(windows[0])  # 切换回原页面(百度页面)



print("回到百度页面")



time.sleep(2)



# --------------------------------------------------------------------------------------------------



# ====================================================================================================

# (4)打开“”内相对应网址

print("打开网址https://XXXXXXXXXXXX")



driver.get("https://XXXXXXXXXXXX")



# (4)打开的“”网址所在页面停留的时间

time.sleep(2)



zhanhao = driver.find_element(By.ID, 'username')

zhanhao.send_keys('***********')

print("输入账号")



mima = driver.find_element(By.ID, 'password')

# 密码里面不能有"\"这个符号,我就是密码里面有,运行时\和后面三个字符都不入录,我不会把\变成默认

mima.send_keys('*********')

print("输入密码")



time.sleep(2)



dvlu = driver.find_element(By.CLASS_NAME, 'notranslate').click()



print("点击登录")



time.sleep(2)




# ==================================================================================================



# 关闭浏览器



driver.quit()



print("关闭浏览器")  # 如果有多个窗口,则一并关闭

以上就是该文章所有的内容。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值