Python自动化学习--元素定位
2024-08-25 07:11:07
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()
最新文章
- Javascript词法分析
- 10.28&;29(NOIP模拟&;修正&;总结)
- 20141110--SQL视图
- 使用Redis做MyBatis的二级缓存
- thymleaf分支用法
- 如何使用gcc编译器
- HDU-1869六度分离
- Lintcode--005(最长公共子序列)
- GDB 的MI接口
- (Problem 10)Summation of primes
- [转python 父类可以调用子类的方法
- JS Math方法
- linux系统 之 curl命令
- linux中top命令使用及查看tcp连接
- Error:Error: Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArguments(Bundle) instead [ValidFragment]
- Maven单独构建多模块项目中的单个模块
- Python高级网络编程系列之第一篇
- java--线程认识与实例记录 NO.1
- Bind 和 ScaffoldColumn
- 开源一款强大的文件服务组件(QJ_FileCenter)(系列一)