首页 > 其他分享 >selenium定位

selenium定位

时间:2024-08-14 09:07:40浏览次数:9  
标签:定位 webdriver 对象 selenium dx import

9种定位方法

案例:https://www.baidu.com/ 百度为案例

查看定位访问:

打开方式两种:一种f12 ,另一种更多工具===开发者工具,

第一种方法:id定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_id("kw").send_keys("id定位方法")
第二种:name定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_name("wd").send_keys("name定位")
第三种:class定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_class_name("s_ipt").send_keys("class定位")
第四种link定位:标签定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_link_text("hao123").click()
第五种定位:模糊标签定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_partial_link_text("hao").click()
第六种定位:tag_name 标签

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
inputs=dx.find_elements_by_tag_name("input")
for i in inputs:
if i.get_attribute("name")=="wd":
i.send_keys("tag_name定位")
第7总定位:js定位方法

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
js="document.getElementById('kw').value='js定位方法'"
dx.execute_script(js)
第八种方法:xpath 方法

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_xpath('//*[@id="kw"]').send_keys("xpath定位方法")
第九种方法:

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_css_selector("#kw").send_keys("css定位方法")

==================================

xpath定位方法详解

css定位方法详解

xpath的定位方法:

(1)full path:是绝对路径 /html/body/div[3]/div[1]/div[5]/div/div/form/span[1]/input

绝对路径方法写法:a./开头, b.从根元素开始

(2)xapath是相对路径://*[@id="kw"]

查看xpath的路径: 选中标签,查看元素,右键 点击copy xpath

//开头 ;

.选取当前的节点

@匹配任意元素节点

*表示当前路径下所有的元素

..选取父级节点

1、xpath中的id定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_xpath('//*[@id="kw"]').send_keys("xpath的id定位")
2、xpath中的name定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_xpath('//*[@name="wd"]').send_keys("xpath的name定位")
3、xpath中的class定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_xpath('//*[@class="s_ipt"]').send_keys("xpath的class定位")
4、xpath中的其他属性定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_xpath('//*[@autocomplete="off"]').send_keys("xpath的其他属性定位")
5、通过and组合属性定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_xpath('//*[@autocomplete="off" and @name="wd"]').send_keys("xpath的组合属性定位")
6、找上一级或上上级定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_xpath('//*[@id="form"]/span[1]/input[1]').send_keys("xpath的组合上一级")
7、上上级定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_xpath('//*[@id="form"]/span[1]/input[1]').send_keys("xpath的组合上一级")

dx.find_element_by_xpath('//*[@id="form"]/span[1]/input[1]').send_keys("xpath的组合上一级")

css的定位方法

1、css种id简写方法(#)

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_css_selector("#kw").send_keys("css中简写定位")
css种id全称方法

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_css_selector("[id='kw']").send_keys("css中id全称定位")
2、class中简写定位(.)

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_css_selector(".s_ipt'").send_keys("css中class简写定位")
class中的全称定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_css_selector("[class='s_ipt]").send_keys("css中class全称定位")

3、css中的name定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_css_selector("[name='wd']").send_keys("css中name全称定位")
4、css中的其他属性定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_css_selector("[autocomplete='off']").send_keys("css中其他属性定位")
5、css中的组合属性定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_css_selector("[autocomplete='off'][class='s_ipt']").send_keys("css中组合定位")
6、找上一级定位

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_css_selector("#form > span.bg.s_ipt_wr.new-pmd.quickdelete-wrap>input").send_keys("css中上一级定位")
7、上上级定位:

from selenium import webdriver #导入selenium第三方库中webdriver
from time import *
dx=webdriver.Chrome() #创建一个对象来来调用谷歌浏览器的对象
dx.get("https://www.baidu.com/") #通过对象打开浏览
dx.find_element_by_css_selector("#form>span>input").send_keys("css中上上级定位")

标签:定位,webdriver,对象,selenium,dx,import
From: https://www.cnblogs.com/fujintao/p/18358128

相关文章

  • selenium实操
    一、selenium定位1、文本框(text)、密码(password)、按钮(button)、输入(send_keys)、点击(click)案例:http://cms.duoceshi.cn/manage/login.do环境fromseleniumimportwebdriver#导入selenium第三方库中webdriverdx=webdriver.Chrome()#创建一个对象来来调用谷歌浏......
  • 定位下拉框
    一、下拉框定位下拉框有三种方法:1、下标定位下拉框:select_by_index2、value属性值定位下拉框:select_by_value3、文本内容定位i下拉框:select_by_visible_text定位之前要导入select类:fromselenium.webdriver.support.selectimportSelect二、实战:案例网址:https://yz.......
  • selenium介绍
    一、认识selenim1、selenium的定义?selenium是python中第三方库,python语言进行封装的我们用的selenium2的版本2、selenium的作用?做ui自动化,(代替手工测试)3、ui自动化的优点?a、解决重复性工作b、节约时间c、节约人力成d、保证覆盖度4、什么项目适合做ui自动化?a、需求比较......
  • DRM:清华提出无偏差的新类发现与定位新方法 | CVPR 2024
    论文分析了现有的新类别发现和定位(NCDL)方法并确定了核心问题:目标检测器往往偏向已知的目标,忽略未知的目标。为了解决这个问题,论文提出了去偏差区域挖掘(DRM)方法,以互补的方式结合类无关RPN和类感知RPN进行目标定位,利用未标记数据的半监督对比学习来改进表征网络,以及采用简单高效的m......
  • 商业文案也能轻松写?笔灵AI显神通~精准定位,吸引眼球,提升转化率
    在信息爆炸的当下,写作成为连接思想与世界的桥梁。然而,面对无垠的文字海洋,许多人常感力不从心,创意与效率难以兼得。幸运的是,笔灵AI写作工具的诞生,为我们开启了一扇通往高效与创意并重的写作新大门。适合各类写作场景及人群,如体制内写材料、作家编辑、大学生、职场人士等。无论......
  • python之selenium基础知识
    内容总结自官方文档https://www.selenium.dev/documentation/SeleniumWebDriverWebDriver被设计为一个简单而简洁的编程接口。WebDriver是一个紧凑的面向对象API。它有效地驱动浏览器。Selenium通过使用WebDriver支持市场上所有主要浏览器的自动化。WebDriver定义了......
  • Python爬虫——Selenium方法爬取LOL页面
    文章目录Selenium介绍用Selenium方法爬取LOL每个英雄的图片及名字Selenium介绍Selenium是一个用于自动化Web应用程序测试的工具,但它同样可以被用来进行网页数据的抓取(爬虫)。Selenium通过模拟用户在浏览器中的操作(如点击、输入、滚动等)来与网页交互,并可以捕获网页的......
  • 关于fixed 修改z-index无效,定位relative 将fixed覆盖问题
    https://img2024.cnblogs.com/blog/3388853/202408/3388853-20240812183846280-1202542483.png主要原因:观察z-index文档由于定位盒子受层叠上下文-CSS:层叠样式表|MDN(mozilla.org)影响。解决方法:发现.header为fixed定位,使得与下方input定位relative在同一级,都......
  • 单片机的异常定位方案,采用axf文件定位的办法
    【STM32F303开发】+使用fromelf反汇编keil生成的AXF文件 【STM32F303开发】+使用fromelf反汇编keil生成的AXF文件(stmicroelectronics.cn)【STM32F303开发】+如何找到导致程序出现HardFault的代码【STM32F303开发】+如何找到导致程序出现HardFault的代码-STM32团队ST意法......
  • 如何为微信小程序添加位置定位和周边服务功能
    要为微信小程序添加位置定位和周边服务功能,可以通过调用微信小程序提供的API来实现。下面是一个示例代码,展示了如何使用微信小程序API来获取用户位置信息,并根据用户位置获取周边服务。首先,在小程序的json配置文件中,需要设置权限,允许使用地理位置信息。在app.json文件中添加如......