selenium的基本操作

Posted g15009428458

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium的基本操作相关的知识,希望对你有一定的参考价值。

selenium的基本操作

selenium的基本操作

常用类与方法

from selenium import webdriver   #驱动浏览器
from selenium.webdriver import ActionChains  #鼠标相关操作
from selenium.webdriver.common.by import By   #选择器,以什么方式选择标签元素
from selenium.webdriver,common.keys import Keys #键盘相关
from selenium.webdriver.support import expected_conditions as EC #各种判断,一般跟等待事件连用,比如说等待某个元素加载出来
from selenium.webdriver.support.wait import WeDriverWait  #等待事件,可以与EC连用

browser = webdriver.Chrome()
wait = WebDriverWait(browser,10)
browser.get("https://www.baidu.com")  #利用谷歌浏览器打开百度窗口
browser.maximize_window()   #窗口最大化
print(browser.current_url)    #获取当前页url
print(browser.title)          #获取当前页面的title
print(browser.name)       #获取driver对象:chrome
print(browser.current_window_handle)    #获取当前页面窗口
print(browser.get_cookies())     #获取cookies
print(browser.page_source)       #获取当前页面内容
browser.refresh()           #刷新
browser.save_screenshot('a.png')    #保存截图
browser.close()              #关闭当前窗口
browser.quit()               #退出浏览器驱动,关闭关联窗口

选择器

from selenium import webdriver    #驱动浏览器
from selenium.webdriver.support.wait import WebDriverWait   #等待事件
browser = webdriver.Chrome()     #选择为谷歌浏览器
browser.find_element_by_id('su')    #id选择器
browser.find_element_by_class_name('xx')   #类选择器,1个
browser.find_elements_by_class_name('xx')   #类选择器,多个
browser.find_element_by_link_text('xxx')    #连接文本选择器
browser.find_element_by_xpath('xxxx')       #xpath选择器
browser.find_element_by_tag_name('h1')    #标签选择器,获取1个
browser.find_elements_by_tag_name('h1')     #标签选择器,获取多个
browser.find_element_by_css_selector('xxx')  #样式选择器

另外,上面的选择器,都可以写成下面的形式

By.ID
By.LINK_TEXT
By.CLASS_NAME
By.XPATH
By.CSS_SELECTOR
By.TAG_NAME

通过选择器来实现

import time
from selenium import webdriver   #驱动浏览器
from selenium.webdriver import ActionChains   #鼠标的相关操作,比如滑动验证
from selenium.webdriver,common.keys import By   #选择器以什么方式选择标签元素
from selenium.webdriver.common,keys import Keys    #键盘相关
from selenium.webdriver.support import expect_conditions as EC  #各种判断等待时间连用,比如说等待某个元素加载出来
from selenium.webdriver.support.wait import WeDriverWait   #等待事件

browser = webdriver.Chrome()
wait = WebDriverWait(browser,10)
browser.get('https://www.baidu .com')

input = browser.find_element_by_id('kw')    #id选择器
input.send_keys('张开嘴')        #获取到input框就可以往里面填值了
time.sleep(1)
input.clear()     #清空值
submit = browser.find_element_(By.ID,'su')
submit.click()      #点击事件

#有时候点击事件会有问题,选择键盘处理
submit.send_keys(Keys.ENTER)
print(input.get_attribute('name'))  # 获取name属性
print(input.text)   # 获取内容,但这里的input没有text
print(input.tag_name)
print(input.get_property('name'))  # 获取给定属性,用法类似get_attribute
print(browser.find_element_by_class_name('mnav').text)   # 找个有text的

 

以上是关于selenium的基本操作的主要内容,如果未能解决你的问题,请参考以下文章

Selenium JavascriptExecutor 详解

Selenium JavascriptExecutor 详解

有没有办法关闭代码片段中的命名建议?

selenium之调用Javascript

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程