当前位置: 首页 > news >正文

建设部特殊工种查询网站龙岗网站建设电话

建设部特殊工种查询网站,龙岗网站建设电话,多媒体技术和网页设计题库,搜网站网目录 一、selenium的介绍 二、selenium的原理 三、selenium的八种元素定位的方法 1、ID定位#xff1a; 2 、name定位#xff1a; 3、class定位#xff1a; 4、tag定位#xff1a; 5、link_text定位#xff1a; 6、partial_link_text定位#xff1a; 7、css定位…目录 一、selenium的介绍 二、selenium的原理 三、selenium的八种元素定位的方法 1、ID定位 2 、name定位 3、class定位 4、tag定位 5、link_text定位 6、partial_link_text定位 7、css定位 8、Xpath定位 四、selenium的常用元素操作 五、实例 资料获取方法 一、selenium的介绍 Selenium是一个流行的自动化测试工具用于测试Web应用程序的功能和用户界面。它可以模拟用户在浏览器中的操作如点击、输入文本、选择下拉框等以及验证页面元素的状态和属性。Selenium可以帮助测试人员自动执行重复的测试任务提高测试效率并减少人工错误。 二、selenium的原理 在我们的自动化程序中我们需要导入selenium库中的WebDriver类来创建一个WebDriver对象通过调用selenium客户端库相应的函数发送请求给浏览器驱动如ChromeDriver。 当我们使用WebDriver驱动程序执行代码时WebDriver会将我们的指令转化为HTTP请求并将其发送给浏览器驱动程序。 浏览器驱动是连接Selenium库和浏览器的桥梁它负责与浏览器进行通信并执行我们编写的代码来控制和操作浏览器。 浏览器驱动程序接收到这些HTTP请求后会将其转化为浏览器可执行的指令并将指令发送给浏览器进行执行。执行完成后浏览器将结果返回给浏览器驱动程序再由浏览器驱动程序将结果转化为HTTP响应并将其返回给我们的代码程序。 三、selenium的八种元素定位的方法 selenium实现UI自动化的关键就在于元素定位可谓只要定位了元素就能够调用方法对UI元素进行操控。在介绍元素定位的方法前我们需要先知道我们定位的代码写得对不对此时F12的强大之处就体现出来了 可以把开发者工具调出来选择Elements随便点击一个元素然后点击CtrlF在此搜索框可以搜索到当前页面的所有元素再把我们定位元素的代码复制进行搜索若搜索结果能定位到元素则证明定位元素的方法写对了。 在selenium中有八种元素定位的方法下面将进行介绍。 1、ID定位 find_element(By.ID, Id属性值) 举例 id属性值为kw则代码为find_element(By.ID, kw) 在 CSS 中id是用于标识网页元素的一种重要属性并且id是唯一的因此若定位的元素存在id值的话通过ID定位是一个非常便捷的方式。 2 、name定位 find_element(By.NAME,name属性值) 举例 name属性值为referrer则代码为find_element(By.NAME,referrer) 3、class定位 find_element(By.CLASS_NAME,class属性值) 举例 class属性值为foot-async-script则代码为find_element(By.CLASS_NAME,foot-async-script) 当class属性值有多个时可以指定任意一个class 属性值都可以选择到这个元素 4、tag定位 find_element(By.TAG_NAME,元素的标签值) 举例 标签值为style则代码为find_element(By.TAG_NAME,style) 因为定位到的元素不唯一所以我们可以使用find_elements(By.TAG_NAME,style) ,注意find_element和find_elements的区别find_elements返回的是一个列表 5、link_text定位 find_element(By.LINK_TEXT,超链接文字) 举例 如百度首页的视频则为超链接文字代码可写为find_element(By.LINK_TEXT, 视频) 6、partial_link_text定位 find_element(By.PARTIAL_LINK_TEXT,超链接部分文字) 举例 如超链接文字太长也可以只输入部分也能定位到元素, 如图上的“百度一下,你就知道-移动首页”属性值可写为移动首页代码find_element(By.PARTIAL_LINK_TEXT, 移动首页)即可定位到元素 7、css定位 find_element(By.CSS_SELECTOR,css值) 更多的时候元素是没有id、class值的或者属性值不唯一此时我们可以用CSS selector语法来选择元素CSS选择器是Web开发中常用的一种定位元素的方法可以在HTML文档中快速准确地找到所需的元素。 1通过标签名tag选择元素 例如 div, p, a等标签例如找出所有标签名为div的元素 find_elements(By.CSS_SELECTOR, div) 2通过类名class选择元素 语法为在class值前加一个.号 举例 代码为find_element(By.CSS_SELECTOR, .foot-async-script) 3通过ID选择元素 语法为在id值前加一个#号 举例 代码为find_element(By.CSS_SELECTOR, #result_tts_player) 4通过属性来选择元素 语法为[属性名属性值] 举例 代码为find_element(By.CSS_SELECTOR, [nametheme-color]) 也可以与标签名、id值或者类名组合使用 如find_element(By.CSS_SELECTOR, meta[nametheme-color]) 5通过子元素来选择 语法元素1 元素2 若元素2在元素里面如 类属性wgt-navbar是类属性navbar-wrapper层级下的则可以通过子元素语法来更准确的定位元素代码为find_element(By.CSS_SELECTOR, .navbar-wrapper .wgt-navbar) 6通过后代元素来选择 语法元素1 元素2 与子元素一样后代元素也是在元素里面不同的是子元素只能是元素的直接子元素而后代元素可以不是直接子元素子元素一定是后代元素后代元素不一定是子元素。 比如元素a 元素b 元素c 元素d元素b是元素a的子元素元素c是元素b的子元素但不是a的子元素元素c是元素a的后代元素。 举例 类属性navbar-bg是类属性wgt-navbar层级下的而wgt-navbar是navbar-wrapper的子元素则navbar-bg是navbar-wrapper的后代元素。 则可以通过后代元素语法来更准确的定位元素代码为find_element(By.CSS_SELECTOR, .navbar-wrapper .navbar-bg) 8、Xpath定位 XPath定位的优点是灵活且功能强大可以根据元素的属性、标签名、层级关系、文本内容等多个特征进行定位。在某些情况下XPath定位可能更适合定位复杂的元素结构或特殊的元素。然而XPath表达式相对于CSS选择器来说更复杂一些有时可能会更加冗长。因此在实际使用中可以根据具体的情况选择使用CSS选择器还是XPath定位来定位元素。 XPath定位方式可以分为绝对路径和相对路径两种方式。 1绝对路径定位 绝对路径是从根节点开始通过一系列的节点路径来定位元素。绝对路径以斜杠 / 开头表示根节点然后按照节点层级关系逐级定位。例如/html/body/div[1]/input 表示从根节点开始先选择html元素然后选择body元素再选择第一个div元素最后选择其中的input元素。 2相对路径定位 相对路径是相对于当前节点的路径更常用且灵活。相对路径以双斜杠 // 开头表示从当前节点的任意位置开始选择符合条件的元素。例如//input 表示选择文档中所有的input元素不论其在文档中的位置。下面介绍下如何根据元素的属性、标签名、层级关系、文本内容等特征进行定位。 //tagname: 选择所有具有指定标签名的元素 //tagname[attributevalue]: 选择具有指定属性和属性值的元素。 //* [attributevalue]: 选择具有指定属性和属性值的任意元素 //parent/child: 选择父元素下的直接子元素。 //ancestor/descendant: 选择ancestor元素下的所有descendant元素。 //* [text()value]: 选择具有指定文本内容的任意元素。 XPath定位方式也支持使用逻辑运算符和多个条件进行定位。例如可以使用 and、or、not 来组合多个条件。 四、selenium的常用元素操作 click(): 单击元素。 send_keys(value): 向输入框元素发送文本。 clear(): 清空输入框元素的文本。 get_attribute(name): 获取元素的指定属性值。 is_displayed(): 判断元素是否可见。 is_enabled(): 判断元素是否可用。 is_selected(): 判断元素是否被选中。 五、实例 需求: 从百度搜索进入微博然后获取微博热搜数据并输出到txt文档中 import time from selenium import webdriver from selenium.webdriver.common.by import Byclass test(object):def __init__(self):self.driver webdriver.Chrome()self.driver.get(https://www.baidu.com/)#self.driver.get(https://weibo.com/)self.driver.implicitly_wait(10) #全局等待 该方法接受一个参数 用来指定最大等待时长self.driver.maximize_window() #最大化浏览器页面def baidu_search(self):self.driver.find_element(By.ID,kw).send_keys(微博) #通过id值定位self.driver.find_element(By.CSS_SELECTOR,[value百度一下]).click() #通过CSS选择器定位self.driver.find_element(By.PARTIAL_LINK_TEXT,微博-随时随地发现新鲜事).click() #通过超链接定位for handle in self.driver.window_handles: #不断切换窗口至我们想要的窗口Sina# 先切换到该窗口self.driver.switch_to.window(handle) # 得到该窗口的标题栏字符串判断是不是我们要操作的那个窗口if Sina in self.driver.title:# 如果是那么这时候WebDriver对象就是对应的该该窗口正好跳出循环breakdef get_weibo_hot_search(self):time.sleep(10)hot_search_list self.driver.find_elements(By.XPATH, //*[classwbpro-textcut f14 cla])print(len(hot_search_list))print(hot_search_list)for list in hot_search_list:hot_search_textlist.textself.save_data(hot_search_text)def save_data(self, hot_search_text):with open(rC:\Users\User\Desktop\output.txt, a, encodingutf-8, newline) as f: # 用追加的方式将数据保存到txt文件中# for number,hot_search_text in hot_search.items():f.write(hot_search_text\n)def main(self):self.baidu_search()self.get_weibo_hot_search()self.driver.quit()if __name__ __main__:ceshi test() # 实例化对象ceshi.main() # 调用类函数入口资料获取方法 【留言777】 各位想获取源码等教程资料的朋友请点赞 评论 收藏三连 三连之后我会在评论区挨个私信发给你们~
http://www.dnsts.com.cn/news/207318.html

相关文章:

  • 韩国网站购物网站制作 网站建设
  • 如何建一个简单的网站wordpress的ico怎么更换
  • 龙岗附近网站建设公共资源交易中心待遇
  • 学习网站后台维护成都今天新闻大事件
  • 网站建设金手指排名专业wordpress ajax钩子
  • 苏州企业网站建设定制海南百度推广公司电话
  • 网站的建设入什么科目深圳航空公司订票电话
  • 舟山公司网站建设做企业网站域名需要解析吗
  • 一个网站做各种好玩的实验石家庄 网站开发
  • 网站正在维护模板大连做网站开发的公司
  • 丹阳网站建设机构苏州建网站
  • 相亲网站做团餐的企业网站
  • 亚马逊 网站建设湖北建设执业注册中心网站
  • 门户网站建设和运行保障招标文件python 营销型网站建设
  • 网站改版需要多久今天的新闻头条
  • 网站建设搜索键如何设置链接北京标识设计制作
  • 企业网站开发的感想wordpress 批量修改字体大小
  • 网站建设励志文章企查查企业信息查询手机版下载
  • 自己做的美食分享到网站成都电子商务平台网站制作报价
  • 制作一个简单网站的代码网页设计编辑器
  • 广东专业做网站排名公司网站免费建站
  • 电脑网站设计制作中小企业商务网站建设
  • 合肥本地网站设计制作中国第一架飞机的人是
  • 昆明网站建设去出发科技公司爱站网关键词
  • 网站关键词优化的价格天津招聘网人才招聘官网
  • 寻找网站建设推广莱州市招聘网站
  • 贵州黔东南双控体系建设网站张家口外贸网站建设
  • 网站认证值不值得做商河做网站多少钱
  • 韶关网站建设第一品牌宁波外贸公司一览表
  • 网站大气是什么意思网站被做301