接着上篇随笔 selenium-配置文件定位元素 ,进行了配置文件设置后,将配置文件运用到定位元素中
思路:拿到定位的 key 和 value 后,对 webdrvier 中定位进行封装,使可以直接运用
主要的8种定位方法:
- find_element_by_id
- find_element_by_name
- find_element_by_xpath
- find_element_by_link_text
- find_element_by_partial_link_text
- find_element_by_tag_name
- find_element_by_class_name
- find_element_by_css_selector
- # conding=utf-8
from selenium import webdriver
from auto_learning.config import ReadIni #导入读取的配置文件的py文件,如果不能导入检查是否是包(__init__.py文件存在 )文件
class FindElement(object):
def __init__(self,driver):
self.driver = driver
def get_Element(self,pageElement,key):
# 实例化ReadIni
file_name = ‘../config/BaiduElement.ini‘ #配置文件路径
read_ini = ReadIni.ReadIni(file_name)
key_value = read_ini.get_value(pageElement,key)
key = key_value.split(‘:‘)[0]
value = key_value.split(‘:‘)[1]
try:
if key == ‘id‘:
return self.driver.find_element_by_id(value)
elif key == ‘class‘:
return self.driver.find_element_by_class_name(value)
elif key == ‘name‘:
return self.driver.find_element_by_name(value)
elif key == ‘tag‘:
return self.driver.find_element_by_tag_name(value)
elif key == ‘linkText‘:
return self.driver.find_element_by_link_text(value)
elif key == ‘cssSelector‘:
return self.driver.find_element_by_css_selector(value)
elif key == ‘xpath‘:
return self.driver.find_element_by_xpath(value)
except:
return None
selenium-webdriver的二次封装(十)
原文:https://www.cnblogs.com/tynam/p/10351860.html