Selenium元素定位封装与数据读取CSV,数据库,YAML

本文介绍了如何使用Selenium进行元素定位,并探讨了数据读取的方法,包括CSV、数据库和YAML文件的处理。同时,文章还提供了一个通用函数示例,以及建立数据库连接获取查询数据的步骤。
摘要由CSDN通过智能技术生成

[python 选中代码按键盘tab键向后缩进一个缩进单位,按shitt+tab向前回退一个缩进单位]

Selenium元素定位封装

from time import sleep
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.support.wait import WebDriverWait
from project.job.src.Common.GeneralMethord.generalfunction import generalfunction

class weboperation:
	 # 实现方法按照制定的相对路径保存截图
	 def get_web_picture(self, browser, relatively_path):
		gf = generalfunction()
		picture_path = gf.get_dir_by_abspath(relatively_path)
		picture_file = picture_path + "\\"+gf.get_shijianchuo()+".png"
		sleep(2)
		browser.get_screenshot_as_file(picture_file)
	        
	# 实现方法按照超链接文字点击
	def click_element_by_link_text(self, browser, *args):
        waiter = WebDriverWait(browser,10)
        for ele in args:
	        waiter.until(ec.presence_of_element_located((By.LINK_TEXT, ele))).click()
	
   # 实现方法动态定位单个元素
    def find_element_by_webdriverwait(self, browser, *args):
        waiter = WebDriverWait(browser, 10)
        element = waiter.until(ec.presence_of_element_located(*args))
        return element

    # 定义方法实现动态点击
    def click_element_by_webdriverwait(self, browser, *args):
        self.find_element_by_webdriverwait(browser, *args).click()

    #定义方法实现动态添加数据
    def send_keys_by_webdriverwait(self, browser,values, *args):
        self.find_element_by_webdriverwait(browser, *args).send_keys(values)

    # 实现方法动态判断元素可否点击,可点击返回element
    def judging_element_click_by_webdriverwait(self, browser, *args):
        waiter = WebDriverWait(browser, 10)
        element = waiter.until(ec.element_to_be_clickable(*args))
        return element

    #实现方法动态判断网页标题是否为某个字符串
    def judging_title_is(self, browser, title):
        waiter = WebDriverWait(browser, 10)
        result = waiter.until(ec.title_is(title))
        return result

    #实现方法动态判断网页标题是否包含某个字符串
    def judging_title_contains(self, browser, title):
        waiter = WebDriverWait(browser, 10)
        result = waiter.until(ec.title_contains(title))
        return result

    #
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值