python自动化1

find_element

from time import sleep

from selenium import webdriver

browser = webdriver.Firefox()
browser.get(“http://127.0.0.1:8080/oa/”)
sleep(2)

定位元素,使用元素的class属性值定位

ele = browser.find_element_by_class_name(“loginInput”)
print(type(ele))
ele.send_keys(“sup”)
sleep(1)
ele.clear() # 清除元素的内容
sleep(1)
ele.send_keys(“sup”)
sleep(1)

使用css定位元素

browser.find_element_by_css_selector("#loginDiv > div:nth-child(5) > form:nth-child(1) > div:nth-child(2) > div:nth-child(2) > table:nth-child(1) > tbody:nth-child(2) > tr:nth-child(2) > td:nth-child(2) > input:nth-child(1)").send_keys(“s1234567”)
sleep(1)

#使用xpath定位

browser.find_element_by_xpath(’//*[@id=“button_submit”]’).click()点击登录按钮
sleep(3)

使用link_text定位

browser.find_element_by_link_text(“新建事项”).click()
sleep(1)

使用patrial_link_text定位

browser.find_element_by_partial_link_text(“已发”).click()
sleep(1)

当class属性值中有空格时,空格必须使用.代替

browser.find_element_by_class_name(“ui-icon.ui-icon-triangle-1-e”).click()
sleep(1)

使用标签定位

browser.find_element_by_tag_name(“a”).click()
sleep(5)
browser.quit()

find_element_and_by

from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By

browser = webdriver.Firefox()
browser.get("http://127.0.0.1:8080/oa")
sleep(2)

在find_element中通过By模块指定元素的定位方式,并传入该方式对应的值来定位元素

下面展示一些 自动化代码片

browser.find_element(By.CLASS_NAME, "loginInput").send_keys("sup")
browser.find_element(By.NAME, "password").send_keys("s1234567")
browser.find_element(By.XPATH, '//input[contains(@id, "button_")]').click()

find_element_css

from time import sleep
from selenium import webdriver

browser = webdriver.Firefox()
browser.get("http://127.0.0.1:8080/oa")
sleep(2)
# 在css定位中使用元素的不同属性定位
# 在css中使用Class属性值定位
browser.find_element_by_css_selector('[class="loginInput"]').send_keys("sup")
sleep(1)
# 在css中使用Class属性值定位第二种写法:在class属性值前加点
browser.find_element_by_css_selector('.loginInput').clear()
sleep(1)
# 在css中使用name属性值定位
browser.find_element_by_css_selector('[name="loginId"]').send_keys("sup")
sleep(1)
#在css中使用tabindex定位
browser.find_element_by_css_selector('[tabindex="1"]').clear()
sleep(1)
# 在css中使用多个属性定位
browser.find_element_by_css_selector('[class="loginInput"][name="loginId"][tabindex="1"]').send_keys("sup")
sleep(1)
# 在css中使用标签+属性定位
browser.find_element_by_css_selector('tr>td>input[class="loginInput"][type="password"]').send_keys("s1234567")
sleep(1)
#在css中使用id定位
# browser.find_element_by_css_selector('[id="button_submit"]').click()
sleep(1)
#在css中使用id定位第二种写法:在id的属性值前加#
browser.find_element_by_css_selector('#button_submit').click()
sleep(2)
#在css中使用class属性值定位时,class属性值中有空格时,空格必须使用点代替
browser.find_element_by_css_selector('.ui-icon.ui-icon-triangle-1-e').click()

find_element_by_xpath

from time import sleep
from selenium import webdriver

browser = webdriver.Firefox()
browser.get("http://127.0.0.1:8080/oa")
sleep(2)
# 在xpath中使用相对路径(//开头+标签组成相对路径)和元素的属性定位
# 在xpath中使用单层标签组成的相对路径与class属性定位元素
browser.find_element_by_xpath('//input[@class="loginInput"]').send_keys("sup")
sleep(1)
# 在xpath中使用多个元素属性定位
browser.find_element_by_xpath('//input[@class="loginInput" and @name="loginId" and @tabindex="1"]').clear()
sleep(1)
#在xpath中使用多层标签组成的相对路径及元素属性定位
browser.find_element_by_xpath('//tbody/tr/td[2]/input[@class="loginInput" and @name="loginId" and @tabindex="1"]').send_keys("sup")
sleep(2)
#在xpath中使用多层标签组成的相对路径及元素属性定位
browser.find_element_by_xpath('//tbody/tr[2]/td[2]/input[@class="loginInput"]').send_keys("s1234567")
sleep(1)
#在xpath中使用contains关键字定位元素
# 先找标签是input的元素,再看元素是否有id属性,如果有id,再看id的值是否包含字符串“button_s”,如果包含则定位到元素
browser.find_element_by_xpath('//input[contains(@id, "button_s")]').click()
sleep(2)
#在xpath中使用元素文本定位
#先找标签是a的元素,再看该元素的文本是否等于“新建事项”,如果相等则定位到元素
browser.find_element_by_xpath('//a[text()="新建事项"]').click()
sleep(1)

# 在xpath中使用contains关键字及元素的文本定位
#先找标签是a的元素,再看该元素的文本是否包含“发事”,如果包含则定位到元素
browser.find_element_by_xpath('//a[contains(text(), "发事")]').click()
sleep(1)
#在xpath中使用class属性定位时,如果class属性值中有空格,空格不能使用点代替
browser.find_element_by_xpath('//span[@class="ui-icon ui-icon-triangle-1-e"]').click()

find_elements

from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By

browser = webdriver.Firefox()
browser.get("http://127.0.0.1:8080/oa")
sleep(2)
# 定位当前页面下所有class属性值等于loginInput的元素,并返回元素列表
ele_list = browser.find_elements_by_class_name("loginInput")
print(len(ele_list))
print(type(ele_list))
ele_list[0].send_keys("sup")
ele_list[1].send_keys("s1234567")
sleep(2)
# 遍历元素列表
for ele in ele_list:
    ele.clear()
    sleep(1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值