rpa自动化-selenium记录

一、常用库导入

1.from selenium import webdriver  导入webdriver模块
2.from selenium.webdriver import ActionChains  导入动作链类,动作链可以储存鼠标的动作,并一起执行
3.from selenium.webdriver.common.key import Key  键盘操作使用的是Keys类,一般配合send_keys使用
4.from selenium.webdriver.support.select import Select  下拉框的操作都交由Select类进行处理
5.from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC     显示等待使用的类

二、浏览器操作

创建浏览器对象              driver = webdriver.xxx()

浏览器窗口最大化           driver.maximize_window()

获取浏览器尺寸               driver.get_window_size()

设置浏览器宽和高           driver.set_window_size(400,800)

获取浏览器位置  get_window_position()

设置浏览器位置  set_window_position(x,y)

关闭当前标签/窗口          close()

关闭所有标签/窗口          quit()

三、页面相关操作

请求某个url                       driver.get(url)

刷新页面操作                    driver.refresh()

回退到之前的页面             driver.back()

前进到之后的页面     driver.forward()

获取当前访问页面url         driver.current_url

获取当前的页面标题          driver.title

四、页面元素定位

例如给定一个元素如下:

<input type="text" name="passwd" id="passwd-id" />

方法:

element = driver.find_element_by_id("passwd-id")

element = driver.find_element_by_name("passwd")
# 如果有多个与查询匹配的元素,则仅返回第一个。如果什么也找不到,将引发NoSuchElementException
element = driver.find_element_by_xpath("//input[@id='passwd-id']")

注:

find_element_by_id(value)----通过id     唯一
find_element_by_name(value)----name属性值定位    唯一
find_element_by_linx_text(value)----文字超链接,文字定位
find_element_by_partial_link_text(value)----文字超链接,部分文字定位
find_element_by_class_name(value)---类名定位
find_element_by_tag_name(value)----标签名定位
find_element_by_xpath(value)---xpath路径表达式
find_element_by_css_selector(value)---css选择器

------elements   将返回一个列表

除了上述的公共方法,还有两种私有方法可能对查找页面元素有用:find_element        find_elements

from selenium.webdriver.common.by import By

driver.find_element(By.XPATH, '//button[text()="Some text"]')
driver.find_elements(By.XPATH, '//button')

这些是按类可用的属性:

ID = "id"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
NAME = "name"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"

在浏览器的控制台操作某元素写法:

# 点击在一个iframe下的按钮,需要先切换到对应的iframe,如果嵌套了一层iframe
document.frames['pwd_login_iframe'].document.getElementById('submitkey').click()

# 如果嵌套了两层iframe
document.frames['indexFrame'].document.frames['pwd_login_iframe'].document.getElementById('submitkey').click()

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值