西宁做腋臭北大网站Y,wordpress安装完无法登录,个人博客网站下载,wordpress 4.8.2下载selenium框架的使用 1、python程序安装selenium框架2、下载Chrome谷歌驱动3、selenium的基本使用4、多个标签页切换顺序混乱的问题 1、python程序安装selenium框架
# 在安装过程中最好限定框架版本为4.9.1
# pip install selenium 没有制定版本#xff0c;非镜像下载也会比较… selenium框架的使用 1、python程序安装selenium框架2、下载Chrome谷歌驱动3、selenium的基本使用4、多个标签页切换顺序混乱的问题 1、python程序安装selenium框架
# 在安装过程中最好限定框架版本为4.9.1
# pip install selenium 没有制定版本非镜像下载也会比较慢
# 建议用下面这句命令
pip install selenium4.9.1 -i https://pypi.tuna.tsinghua.edu.cn/simple安装完selenium后还需要安装使用selenium控制的浏览器需要的驱动。
2、下载Chrome谷歌驱动
需要下载Chrome浏览器版本对应的驱动可以通过下面这个链接下载。 谷歌驱动下载地址https://googlechromelabs.github.io/chrome-for-testing/#stable
驱动下载完成后要将文件移动到系统环境变量中 ● MacOS将文件移动到/usr/local/bin目录 ● Windows将文件移动到python环境的安装目录下
或者自动义驱动路径 直接复制下载的驱动.exe文件
然后粘贴到你程序的文件下再进行指定即可使用了
import time
from selenium import webdriver
from selenium.webdriver.chrome import service #指导驱动路径# 自定义指定驱动
service service.Service(executable_path./chromedriver.exe)browser webdriver.Chrome()browser.get(https://www.baidu.com)
3、selenium的基本使用
import time
from selenium import webdriver
from selenium.webdriver.common.by import By# 获取要操作的浏览器对象
browser webdriver.Chrome()
# browser webdriver.Firefox()# 自动加载指定的页面
browser.get(https://www.baidu.com)# 获取指定的元素
input_text browser.find_element(By.ID, kw)
# 在指定的元素上输入值
input_text.send_keys(Python)button browser.find_element(By.ID, su)
# 操作点击指定的标签
button.click()# 查看加载网页的源代码
print(browser.page_source)# 获取网页的cookies
print(browser.get_cookies())# 查看经过处理之后本页面最后显示的url如果有重定向的话那么就是302之后的url
print(browser.current_url)# 打开新页面但是会覆盖原来的标签页面
browser.get(https://www.bilibili.com)# 要不覆盖打开新的标签页的话可以执行js代码中的window.open(https://www.bilibili.com)
code_js window.open(https://www.jd.com)
browser.execute_script(code_js)# 在浏览器有多个标签页的情况下可以进行切换标签页
browser.switch_to.window(browser.window_handles[0])# 让当前的标签页退出
browser.close()4、多个标签页切换顺序混乱的问题
window_handles列表保存了根据顺序打开的标签页句柄但是在某些特殊的情况下标签页顺序和列表句柄元素顺序不一致比如网络速度或页面响应速度的不同会导致实际打开页面的顺序和预期不同。所以在代码中不能完全依赖列表索引的方式完成页面切换。 解决方式如下
import time
from selenium import webdriverbrowser webdriver.Chrome()
js_code window.open(https://www.baidu.com)
browser.execute_script(js_code)
time.sleep(2)js_code window.open(https://www.bilibili.com)
browser.execute_script(js_code)
time.sleep(2)js_code window.open(https://www.jd.com)
browser.execute_script(js_code)
time.sleep(2)browser.switch_to.window(browser.window_handles[0])# 打印当前所有标签页的窗口句柄
print(browser.window_handles)# 打印所有句柄对应的标签页名称
for handle in browser.window_handles:browser.switch_to.window(handle)print(页面标题: {}句柄: {}.format(browser.title,handle))for handle in browser.window_handles:browser.switch_to.window(handle)# 通过页面标题或URL来定位if (百度 in browser.title) or (baidu.com in browser.current_url):print(已切换到百度页面:, handle)time.sleep(2)browser.close() # 关闭百度标签页elif (哔哩 in browser.title) or (bilibili.com in browser.current_url):print(已切换到哔哩页面:, handle)time.sleep(2)else:print(已切换到京东页面:, handle)time.sleep(2)print(browser.window_handles)
browser.quit()以上就是selenium的基本使用了