码迷,mamicode.com
首页 > 编程语言 > 详细

Python自动化学习--元素定位

时间:2019-10-01 18:26:11      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:element   common   form   auto   结合   NPU   rom   div   web   

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("https://www.baidu.com/index.php?tn=25017023_6_pg&ssl_s=1&ssl_c=ssl1_16d7f66ac98")
‘‘‘
# 元素定位之 id 定位
driver.find_element_by_id("kw").send_keys("华为")
driver.find_element_by_id("su").click()
‘‘‘
‘‘‘
#元素定位之 class name 定位
driver.find_element_by_class_name("s_ipt").send_keys("荣耀")
driver.find_element_by_id("su").click()
‘‘‘
‘‘‘
#元素定位之 tag 定位
driver.find_element_by_tag_name("input").send_keys("linux")
driver.find_element_by_id("su").click()
‘‘‘
‘‘‘
#元素定位之 link text 定位
driver.find_element_by_link_text("新闻").click()
time.sleep(3)
‘‘‘

"""
#元素定位之 partial link 定位 (类似于模糊定位)
driver.find_element_by_partial_link_text("hao").click()
time.sleep(3)
"""
‘‘‘
#元素定位之 XPath 定位 绝对路径定位
driver.find_element_by_xpath(‘//*[@id="kw"]‘).send_keys("国庆盛典")
driver.find_element_by_xpath(‘//*[@id="su"]‘).click()
time.sleep(3)
‘‘‘
‘‘‘
#元素定位之 XPath 定位 元素属性定位
driver.find_element_by_xpath(‘//input[@id="kw"]‘).send_keys("小米官网")
driver.find_element_by_xpath(‘//input[@id="su"]‘).click()
time.sleep(3)
‘‘‘
‘‘‘
#元素定位之 XPath 元素属性与层级结合定位
driver.find_element_by_xpath(‘//span[@class="bg s_ipt_wr quickdelete-wrap"]/input‘).send_keys("裤子")
time.sleep(2)
‘‘‘
‘‘‘
#元素定位之 XPath 逻辑运算符定位
driver.find_element_by_xpath("//*[@id=‘kw‘ and @class=‘s_ipt‘]").send_keys("裤子")
time.sleep(2)
‘‘‘
‘‘‘
#元素定位之 XPath contains 方法
driver.find_element_by_xpath("//span[contains(@class,‘s_ipt_wr‘)]/input").send_keys("裤子")
time.sleep(2)
‘‘‘
‘‘‘
#元素定位之 XPath text() 和 contains 配合使用,实现link text 定位的效果
driver.find_element_by_xpath("//a[contains(text(),‘hao‘)]").click()
time.sleep(2)
‘‘‘
‘‘‘
#CSS 定位 通过 class 选择器定位  写法:.class
driver.find_element_by_css_selector(".s_ipt").send_keys("裤子")
time.sleep(2)
‘‘‘
‘‘‘
#CSS 定位 通过 id 选择器定位 写法:#id
driver.find_element_by_css_selector("#kw").send_keys("裤子")
time.sleep(2)
‘‘‘
‘‘‘
#CSS 定位 通过标签层级关系定位 写法:element > element
driver.find_element_by_css_selector("span > input").send_keys("裤子")
time.sleep(2)
‘‘‘
‘‘‘
#CSS 定位 通过属性定位
#driver.find_element_by_css_selector("[autocomplete=off]").send_keys(‘裤子‘)
driver.find_element_by_css_selector("[name=‘wd‘]").send_keys(‘裤子‘)
driver.find_element_by_css_selector("[type=‘submit‘]").click()
time.sleep(2)
‘‘‘
‘‘‘
#CSS 定位 组合定位
driver.find_element_by_css_selector("form.fm > span > input.s_ipt").send_keys("裤子")
driver.find_element_by_css_selector("form#form > span > [type=‘submit‘]").click()
time.sleep(2)
‘‘‘

‘‘‘
#By方式的 8 种定位方式,写法差不多,只是需要将By方式导入才能使用
from selenium.webdriver.common.by import By
driver.find_element(By.ID,"kw").send_keys("裤子")
driver.find_element(By.NAME,"wd").send_keys("裤子")
driver.find_element(By.CLASS_NAME,"s_ipt").send_keys("裤子")
driver.find_element(By.TAG_NAME,"input").send_keys("裤子")
driver.find_element(By.LINK_TEXT,"新闻").click()
driver.find_element(By.PARTIAL_LINK_TEXT,"hao").click()
driver.find_element(By.XPATH,"//*[@class=‘bg s_btn‘]")
driver.find_element(By.CSS_SELECTOR,"span.bg s_btn_wr > input#su")
‘‘‘
time.sleep(2)

driver.quit()

  

Python自动化学习--元素定位

标签:element   common   form   auto   结合   NPU   rom   div   web   

原文地址:https://www.cnblogs.com/LT-XILI/p/11615497.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!