python-seleniu/八大定位方法详解

python中八大定位方法:

python-seleniu/八大定位方法详解

selenium的安装方法: 在学习selenium 之前呢?首先我们需要下载selenium这个这个第三方的工具包 这个selenium不是python自带的工具包,那么就需要通过下载进行使用 下载的方法: 方法1:python selenium 下载方法:pip install selenium 方法2:settings project interpreter 里面也可以进行下载   Selenium特点:        1.开源、免费        2.多浏览器支持:Firefox、Chrome、IE、Opera        3.多平台支撑:windows、linux、MAC   chrome 谷歌驱动的安装方法: http://chromedriver.storage.googleapis.com/index.html 安装谷歌驱动器:chromewebdriver from selenium import webdriver   """打开一个浏览器:定义一个webdriver的对象""" driver = webdriver.Chrome()   """ get 方法:打开一个网址""" driver.get("http://www.baidu.com") """ 窗口最大化--目的防止页面元素定位不到""" driver.maximize_window()   """ 方法1 : 通过id 进行定位""" driver.find_element_by_id("kw").send_keys("谁是天底下最帅的男孩子") """ 方法2: 通过class 进行定位""" driver.find_element_by_class_name("s_ipt").send_keys("满天星") """ 方法3: 通过name值进行定位""" driver.find_element_by_name("wd").send_keys("你相信光嘛") """ 方法4: 通过 text 文本值进行定位 """ driver.find_element_by_link_text("hao123").click() """ 方法5: 通过 模糊文本 定位""" driver.find_element_by_partial_link_text('123').click()     """ 方法6: tag---name值定位""" """ driver.find_element_by_tag_name() driver.find_elements_by_tag_name() 注意:第一个element 不带s 只能适用于当前页面只有一个input输入框 第二个elements 带"s" 它可以获取到当前页面所有的input输入框 """ js = driver.find_elements_by_tag_name("input") print(js) """ 获取到所有input输入框的元素""" for i in js: if i.get_attribute("name") == "wd": i.send_keys("多测试") """ 1,通过for循环遍历出每一个input输入框的元素内容 使用get_attribute 获取对应值进行判断input输 入框的元素如果 == 就send_keys进行输入 2,除了name值以外input输入框中所有的值都可以获取 进行判断 """       """ 方法7: 通过 xpath id 路径定位 """ driver.find_element_by_xpath('//*[@id="kw"]').send_keys("你好ya! python")#相对路径 """ 通过 xpath name 路径定位""" driver.find_element_by_xpath('//input[@name="wd"]').send_keys("你好ya! python") """ 通过 xpath 路径上级(父级)定位""" driver.find_element_by_xpath('//*[@id="form"]/span[1]/input[1]').send_keys("你好ya! python") """通过XPATH路径class定位""" driver.find_element_by_xpath('//*[@class="s_ipt"]').send_keys('多测师') """通过xpath路径autocomplete定位""" driver.find_element_by_xpath('//*[@autocomplete="off"]').send_keys('多测师') """XPAST路径 路径值进行组合定位""" driver.find_element_by_xpath('//*[@name="wd" and @class="s_ipt"]').send_keys('多测师')     """ 方法8: CSS 定位方法:"""   """#id选择器定位""" driver.find_element_by_css_selector('#kw').send_keys('多测师') """#class选择器定位 """ driver.find_element_by_css_selector('.s_ipt').send_keys('多测师') """id值 定位""" driver.find_element_by_css_selector('[id=kw]').send_keys('多测师') """name值 定位""" #driver.find_element_by_css_selector('[name=wd]').send_keys('多测师') """class值 定位""" driver.find_element_by_css_selector('[class=s_ipt]').send_keys('多测师') """组合值定位""" driver.find_element_by_css_selector('[name=wd][class=s_ipt]').send_keys('多测师') """autocomplete 定位""" driver.find_element_by_css_selector('[autocomplete=off]').send_keys('多测师') """上级定位""" driver.find_element_by_css_selector('span>input').send_keys('多测师') """上上级定位""" driver.find_element_by_css_selector('form>span>input').send_keys('多测师')

上一篇:Redis学习笔记---Redis的分布式锁框架Redisson


下一篇:使用ssh密钥实现免密登陆Linux服务器