导入所需要的模块
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
构建带有参数的谷歌浏览器
chrome_options = Options()
chrome_options.add_argument('--no-sandbox') #解决DevToolsActivePort文件不存在的报错
chrome_options._arguments = ['disable-infobars'] #去掉谷歌浏览器正在被自动测试控制字样
chrome_options.add_argument('window-size=1920x3000') #指定浏览器分辨率
chrome_options.add_argument('--disable-gpu') #谷歌文档提到需要加上这个属性来规避bug
chrome_options.add_argument('--hide-scrollbars') #隐藏滚动条, 应对一些特殊页面
# 不加载图片, 提升速度
chrome_options.add_argument('blink-settings=imagesEnabled=false')
# 加载用户信息的谷歌浏览器
chrome_options.add_argument("--user-data-dir="+r"C:\Users\Administrator\AppData\Local\Google\Chrome\User Data")
chrome_options.add_argument('--headless') #浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败
# 调用带参数的谷歌浏览器
driver = webdriver.Chrome(chrome_options=chrome_options)
窗口最大化
driver.maximize_window()
调节最大等待时间
wait = WebDriverWait(driver, 15)
加载指定网址
driver.get(url)
位置定位
wait.until(EC.presence_of_element_located((By.XPATH,''))) #以Xpath定位第一个满足元素,等待最大响应时间
driver.find_element_by_xpath('').click() #以Xpath定位第一个满足元素,并进行点击操作
driver.find_elements_by_id("") #以属性ID定位所有满足的元素
# 以属性ID定位第一个满足元素,等待最大响应时间,并输入文本信息
wait.until(EC.presence_of_element_located((By.ID, ""))).send_keys('')
切换到iframe
driver.switch_to.frame(1) #转入网页内iframe(内嵌的网页元素)
driver.switch_to_default_content() #返回到主页面
切换网页窗口
windows=driver.window_handles #获得当前浏览器所有窗口
driver.switch_to.window(windows[0]) #切换到最左侧窗口
driver.switch_to.window(windows[-1]) #切换到最新打开窗口(注:也就是最右侧窗口)
浏览器操作
driver.execute_script("window.scrollBy(0,5000)") #滑动界面
driver.back() #返回界面
driver.refresh() #刷新界面
关闭窗口
driver.close()
原文地址:https://blog.csdn.net/u013289615/article/details/90727084
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。