栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

selenium使用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

selenium使用

文章目录
  • 1.无头浏览器(chrome)
  • 2.下拉框选中
    • 1、导入 select 方法:
    • 2.常用
  • 3.等待方式
    • 1.强制等待
    • 2.隐式等待
    • 3 显示等待
  • 4.元素定位
  • 键盘操作
    • 简单操作
    • 复杂(拖拽...)
      • 鼠标移动


1.无头浏览器(chrome)

selenium关闭左上方Chrome 正受到自动测试软件的控制的提示

转自 点击跳转

  • 作者:阿登20
  • 作者:阿登20
  • 链接:https://www.jianshu.com/p/f630ea488f9f
  • 来源:简书
  • 还有一些常用options的常用方法
options = Options()
options.add_experimental_option('useAutomationExtension', False)
options.add_experimental_option("excludeSwitches", ['enable-automation'])
2.下拉框选中 1、导入 select 方法:
from selenium.webdriver.support.select import Select
2.常用
select_by_index()   #通过下标

select_by_value()  #通过value值

select_by_visible_text() #通过文本值

转自:点击跳转

3.等待方式 1.强制等待
time.sleep(10)   #强制等待十秒
2.隐式等待
driver.implicitly_wait(10)  # 隐性等待,最长等10秒
3 显示等待
locator =dirver.find_element_by_xpath('//*[@id="kw"]')

try:
    WebDriverWait(driver, 20, 0.5).until(EC.presence_of_element_located(locator))
except Exception as e:
        print(e)

driver: 传入WebDriver实例,即我们上例中的driver
timeout: 超时时间,等待的最长时间(同时要考虑隐性等待时间)
poll_frequency: 调用until或until_not中的方法的间隔时间,默认是0.5秒
ignored_exceptions: 忽略的异常,如果在调用until或until_not的过程中抛出这个元组中的异常,
则不中断代码,继续等待,如果抛出的是这个元组外的异常,则中断代码,抛出异常。默认只有NoSuchElementException。
转自:添加链接描述
版权声明:本文为CSDN博主「huilan_same」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/huilan_same/article/details/52544521

4.元素定位
通过id
find_element_by_id("id")

通过 name
find_element_by_name()

通过class
find_element_by_class_name()

通过标签名
find_element_by_tag_name()

通过文本
find_element_by_link_text()

通过文本模糊查询
find_element_by_partial_link_text()

通过xpath路径
find_element_by_xpath()

通过css  id是#  class是.
find_element_by_css_selector("#kw")

转自:点击跳转

键盘操作 简单操作
1.clear()       #清除输入框的内容

2.send_keys('内容') #在文本框内输入内容

3.click()        #点击按钮

4.submit()        #表单的提交
复杂(拖拽…)

引入包

from selenium.webdriver.common.action_chains import ActionChains

ActionChains的执行原理,当调用ActionChains方法的时候不会立即执行,而是将所有的操作暂时存储在一个队列中,当调用perform()的方法时候,队列会按照放入的先后顺序依次执行。
ActionChains所有方法

click(on_element=None)                    #单击鼠标左键
click_and_hold(on_element=None)     #点击鼠标左键,按住不放
context_click(on_element=None)           #点击鼠标右键
double_click(on_element=None)            #双击鼠标左键
drag_and_drop(source, target)              #拖拽到某个元素然后松开
drag_and_drop_by_offset(source, xoffset, yoffset)          #拖拽到某个坐标然后松开
move_by_offset(xoffset, yoffset)             #鼠标移动到距离当前位置(x,y)
move_to_element(to_element)               #鼠标移动到某个元素
move_to_element_with_offset(to_element, xoffset, yoffset) #将鼠标移动到距某个元素多少距离的位置
release(on_element=None)                     #在某个元素位置松开鼠标左键
perform()                                             #执行链中的所有动作

所以最后要加上

ActionChainsDriver.perform()
鼠标移动

csdn首页

        MoveElement = driver.find_element_by_xpath('//*[@id="csdn-toolbar"]/div/div/div[3]/div/div[5]/a')
        Action = ActionChains(driver)
        Action.move_to_element(MoveElement).perform()

转自:点击跳转

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/317105.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号