"""
需求:百度文本框selenium
使用ID属性定位
1、操作对象
2、获取ID属性
3、其他操作
"""
#导包、创建浏览器对象
#获取url地址
from selenium import webdriver
import time
#driver是一个普通的变量
driver=webdriver.Chrome()
driver.get("https://www.baidu.com")
#通过ID定位文本框和百度一下
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
time.sleep(2)
#退出浏览器
driver.quit()
通过name属性定位元素
from selenium import webdriver
import time
#driver是一个普通的变量
driver=webdriver.Chrome()
driver.get("https://www.baidu.com")
#通过name属性定位元素
driver.find_element_by_name("wd").send_keys('selenium')
driver.find_element_by_id("su").click()
time.sleep(2)
#退出浏览器
driver.quit()
from selenium import webdriver
import time
driver =webdriver.Chrome()
driver.get("https://www.baidu.com")
# 使用link text属性定位(元素显示的文本信息)
driver.find_element_by_link_text("新闻").click()
# 使用link text定位长信息
time.sleep(3)
#退出浏览器
driver.quit()
"""
绝对路径定位:
/:跟节点
//:相对节点
百度文本框的绝对路径
父子节点使用/链接(在树状结构上有明显的所属关系
同标签名的节点是兄弟节点,使用【】排名次,老大排第一位【1】,老二【2】
(标签名一样)老大标签名不写也行
/html/body/div/div/div[3]/div/div/form/span/input
利用元素属性定位
//input[@id='kw']
利用父子关系以及属性定位:
百度文本框按键:先找父亲
//form[@id='form']/span/input
//form[@id='form']/span[2]/input
使用逻辑运算符
通过一个运算符无法定位,有重复的,一个不行,用两个定位
使用and or
//*[@id="su"]
//*[@id="s-top-left"]/a[1]
css定位:
. 表示类型选择器. .splt
# 表示id选择器#kw、#su
> 表示父子关系 form#form >span >input
"""
from selenium import webdriver
import time
#driver是一个普通的变量
driver=webdriver.Chrome()
driver.get("https://www.baidu.com")
# #获取绝对路径
# driver.find_element_by_xpath("/html/body/div/div/div[5]/div/div/form/span/input").send_keys("selenium")
# driver.find_element_by_xpath("/html/body/div/div/div[5]/div/div/form/span[2]/input").click()
# time.sleep(5)
#
#
#
# # 利用元素属性定位
# driver.find_element_by_xpath("//input[@id='kw']").send_keys("selenuim")
# driver.find_element_by_xpath("//input[@class='bg s_btn']").click()
# time.sleep(5)
# 利用父子关系以及属性定位:
# driver.find_element_by_xpath("//form[@id='form']/span/input").send_keys("selenuim")
# driver.find_element_by_xpath("//*[@id='s-top-left']/a[1]").click()
# time.sleep(5)
# #利用css定位
# driver.find_element_by_css_selector(".s_ipt").send_keys("selenium")
# driver.find_element_by_css_selector("#su").click()
driver.find_element_by_css_selector("form#form >span >input").send_keys("selenium")
driver.find_element_by_css_selector("#su").click()
time.sleep(5)
driver.quit()
博客介绍了通过name属性定位元素的相关内容,这在前端开发中是一种常见的元素定位方式,有助于准确获取页面中的元素。
1790

被折叠的 条评论
为什么被折叠?



