selunium各种定位的方法
selunium特点
1. 开源软件
2. 跨平台
3. 支持多种浏览器
webdriver浏览器驱动
元素定位
# 导包 from selenium import webdriver import time from selenium.webdriver.common.by import By # 创建浏览器驱动对象 driver = webdriver.Chrome() # 打开网站 driver.get("网址") driver.find_element_by_id("u1493_input").send_keys("xuxu3") # id定位 driver.find_element_by_name("name2").send_keys("qaz,./123") # name位driver.find_element(by=By.LINK_TEXT, value="点击我打开百度").click() # link_text定位 driver.find_element(by=By.PARTIAL_LINK_TEXT, value="百度").click() # partial_link_text定位 #定位一组元素(elements) elements = driver.find_elements_by_tag_name("input") elements[1].send_keys("123") # 第一个标签为tag_name的输入123 time.sleep(3) # 退出网页 driver.quit()
xpath定位
from selenium import webdriver import time # 浏览器驱动对象 driver = webdriver.Chrome() # 打开网址 driver.get('http://127.0.0.1:8848/%E4%BB%A3%E7%A0%81/%E4%BB%A3%E7%A0%811/practice.html') #路径定位 driver.find_element_by_xpath("/html/body/form/input[2]").send_keys("admin") # 属性定位 driver.find_element_by_xpath("//*[@placeholder='请输入用户名']").send_keys("admin") # 属性与逻辑定位 driver.find_element_by_xpath("//p[@id='pa']/input").send_keys("admin") # 属性与层级定位 driver.find_element_by_xpath("//input[@id='pass' and @name='word']").send_keys("admin") # 全部文本定位 driver.find_element_by_xpath("//*[text()='白白']").send_keys("admin") # value局部文本 driver.find_element_by_xpath("//*[contains(@placeholder,'请输入')] ).send_keys("admin") # 局部开始的文本(如果为“请输入用户名”,则“用户名”不可为value) driver.find_element_by_xpath("//*[starts-with(@placehoder,'请输入')] ).send_keys("admin") # 等待3s time.sleep(3) driver.quit()
XPATH定位可在网页按F12进行XPATH复制