如果需要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("关闭浏览器") # 如果有多个窗口,则一并关闭
以上就是该文章所有的内容。