本博客记录了白月黑羽教python的selenium课后作业的代码,方便以后查看,希望可以帮助看到这篇博客的人,最后感谢白月黑羽老师的免费教程,讲的非常清楚!
目录
1、测试用例及代码2、注意点3、知识点总结
1、测试用例及代码
from selenium
import webdriver
from time
import sleep
wd
= webdriver
.Chrome
(r
'I:\chromedriver_win32\chromedriver.exe')
wd
.get
('http://127.0.0.1/mgr/sign.html')
wd
.implicitly_wait
(10)
wd
.maximize_window
()
elementuser
= wd
.find_element_by_id
('username')
elementuser
.send_keys
('byhy')
elementpass
= wd
.find_element_by_id
('password')
elementpass
.send_keys
('88888888')
elementbutton
=wd
.find_element_by_tag_name
('button')
elementbutton
.click
()
elementsidebar
=wd
.find_element_by_class_name
('sidebar')
elementlist
=elementsidebar
.find_elements_by_tag_name
('span')
for element
in elementlist
:
print(element
.text
)
from selenium
import webdriver
from time
import sleep
wd
= webdriver
.Chrome
(r
'I:\chromedriver_win32\chromedriver.exe')
wd
.get
('http://127.0.0.1/mgr/sign.html')
wd
.implicitly_wait
(10)
wd
.maximize_window
()
elementuser
= wd
.find_element_by_id
('username')
elementuser
.send_keys
('byhy')
elementpass
= wd
.find_element_by_id
('password')
elementpass
.send_keys
('88888888')
elementbutton
=wd
.find_element_by_tag_name
('button')
elementbutton
.click
()
elementadd
=wd
.find_element_by_class_name
('col-lg-12')
kehu
=elementadd
.find_element_by_tag_name
('button')
kehu
.click
()
build
=wd
.find_element_by_class_name
('col-lg-8')
inputs
=build
.find_elements_by_tag_name
('input')
inputs
[0].send_keys
('南京中医院')
inputs
[1].send_keys
('12345678')
input2
=build
.find_element_by_tag_name
('textarea')
input2
.send_keys
('地址我不知道啊')
buildbut
=elementadd
.find_element_by_class_name
('col-lg-12')
buildbuttons
=buildbut
.find_elements_by_tag_name
('button')
buildbuttons
[0].click
()
sleep
(2)
result
=wd
.find_element_by_class_name
('search-result-item')
resultbut
=result
.find_element_by_class_name
('search-result-item-actionbar')
resultbuttons
=resultbut
.find_elements_by_class_name
('btn-green')
resultbuttons
[0].click
()
adress
=result
.find_element_by_tag_name
('textarea')
adress
.clear
()
adress
.send_keys
('南京省中医院')
resultbuttons
[0].click
()
from selenium
import webdriver
from time
import sleep
wd
= webdriver
.Chrome
(r
'I:\chromedriver_win32\chromedriver.exe')
wd
.get
('http://127.0.0.1/mgr/sign.html')
wd
.implicitly_wait
(10)
wd
.maximize_window
()
elementuser
= wd
.find_element_by_id
('username')
elementuser
.send_keys
('byhy')
elementpass
= wd
.find_element_by_id
('password')
elementpass
.send_keys
('88888888')
elementbutton
=wd
.find_element_by_tag_name
('button')
elementbutton
.click
()
wd
.find_element_by_css_selector
('.col-lg-12>button').click
()
infors
=wd
.find_elements_by_css_selector
('input.form-control')
infors
[0].send_keys
('css')
infors
[1].send_keys
('12312121222')
wd
.find_element_by_css_selector
('textarea').send_keys
('css123')
wd
.find_element_by_css_selector
('button.btn.btn-green.btn-outlined.btn-xs').click
()
sleep
(2)
wd
.find_element_by_css_selector
('label.btn-green.btn-outlined.btn-xs').click
()
wd
.find_element_by_css_selector
('.search-result-item textarea.form-control').clear
()
wd
.find_element_by_css_selector
('#root > div > section.content.container-fluid > div:nth-child(3) > div:nth-child(1) > div:nth-child(3) > textarea').send_keys
('定位修改之后')
wd
.find_element_by_css_selector
('#root > div > section.content.container-fluid > div:nth-child(3) > div.search-result-item-actionbar > div > label:nth-child(1)').click
()
from selenium
import webdriver
from time
import sleep
wd
= webdriver
.Chrome
(r
'I:\chromedriver_win32\chromedriver.exe')
wd
.get
('http://127.0.0.1/mgr/sign.html')
wd
.implicitly_wait
(10)
wd
.maximize_window
()
elementuser
= wd
.find_element_by_id
('username')
elementuser
.send_keys
('byhy')
elementpass
= wd
.find_element_by_id
('password')
elementpass
.send_keys
('88888888')
elementbutton
=wd
.find_element_by_tag_name
('button')
elementbutton
.click
()
wd
.find_element_by_css_selector
('[href="#/medicines"]').click
()
sleep
(2)
wd
.find_element_by_css_selector
('.col-lg-12>button').click
()
wd
.find_element_by_css_selector
('.col-lg-8>:nth-child(1)>input').send_keys
('medicine')
wd
.find_element_by_css_selector
('.col-lg-8>:nth-child(2)>input').send_keys
('21112')
wd
.find_element_by_css_selector
('.col-lg-8>:nth-child(3)>textarea').send_keys
('乱加的啊啊啊啊')
wd
.find_element_by_css_selector
('.col-lg-12>.btn-xs:nth-child(1)').click
()
from selenium
import webdriver
from time
import sleep
wd
= webdriver
.Chrome
(r
'I:\chromedriver_win32\chromedriver.exe')
wd
.get
('http://127.0.0.1/mgr/sign.html')
wd
.implicitly_wait
(10)
wd
.maximize_window
()
elementuser
= wd
.find_element_by_id
('username')
elementuser
.send_keys
('byhy')
elementpass
= wd
.find_element_by_id
('password')
elementpass
.send_keys
('88888888')
elementbutton
=wd
.find_element_by_tag_name
('button')
elementbutton
.click
()
mainwindow
=wd
.current_window_handle
wd
.find_element_by_css_selector
('.pull-right>[href="http://www.python3.vip"]').click
()
for handle
in wd
.window_handles
:
wd
.switch_to
.window
(handle
)
if '白月黑羽教Python' in wd
.title
:
break
wd
.maximize_window
()
barelements
=wd
.find_elements_by_css_selector
('li.nav-item span')
for barelement
in barelements
:
print(barelement
.text
)
wd
.switch_to
.window
(mainwindow
)
wd
.find_element_by_css_selector
('span.hidden-xs').click
()
wd
.find_element_by_css_selector
('.pull-right a.btn').click
()
sleep
(2)
if wd
.current_url
=="http://127.0.0.1/mgr/sign.html":
print("成功退出登录")
from selenium
import webdriver
from time
import sleep
from selenium
.webdriver
.support
.ui
import Select
wd
= webdriver
.Chrome
(r
'I:\chromedriver_win32\chromedriver.exe')
wd
.get
('http://127.0.0.1/mgr/sign.html')
wd
.implicitly_wait
(10)
wd
.maximize_window
()
elementuser
= wd
.find_element_by_id
('username')
elementuser
.send_keys
('byhy')
elementpass
= wd
.find_element_by_id
('password')
elementpass
.send_keys
('88888888')
elementbutton
=wd
.find_element_by_tag_name
('button')
elementbutton
.click
()
wd
.find_element_by_css_selector
('a[href="#/medicines"]> span').click
()
wd
.find_element_by_css_selector
('.col-lg-12 button .glyphicon').click
()
wd
.find_element_by_css_selector
('.col-lg-8 div:nth-child(1) input').send_keys
('青霉素盒装1')
wd
.find_element_by_css_selector
('.col-lg-8 div:nth-child(2) input').send_keys
('YP-32342341')
wd
.find_element_by_css_selector
('.col-lg-8 div:nth-child(3) textarea').send_keys
('青霉素注射液,每支15ml,20支装')
wd
.find_element_by_css_selector
('button.btn-xs:nth-child(1)').click
()
sleep
(2)
wd
.find_element_by_css_selector
('.col-lg-8 div:nth-child(1) input').send_keys
('青霉素盒装2')
wd
.find_element_by_css_selector
('.col-lg-8 div:nth-child(2) input').send_keys
('YP-32342342')
wd
.find_element_by_css_selector
('.col-lg-8 div:nth-child(3) textarea').send_keys
('青霉素注射液,每支15ml,30支装')
wd
.find_element_by_css_selector
('button.btn-xs:nth-child(1)').click
()
sleep
(2)
wd
.find_element_by_css_selector
('.col-lg-8 div:nth-child(1) input').send_keys
('青霉素盒装3')
wd
.find_element_by_css_selector
('.col-lg-8 div:nth-child(2) input').send_keys
('YP-32342343')
wd
.find_element_by_css_selector
('.col-lg-8 div:nth-child(3) textarea').send_keys
('青霉素注射液,每支15ml,40支装')
wd
.find_element_by_css_selector
('button.btn-xs:nth-child(1)').click
()
wd
.find_element_by_css_selector
('[href="#/customers"] span').click
()
sleep
(2)
wd
.find_element_by_css_selector
('.col-lg-12>button').click
()
infors
=wd
.find_elements_by_css_selector
('input.form-control')
infors
[0].send_keys
('南京中医院1')
infors
[1].send_keys
('2551867851')
wd
.find_element_by_css_selector
('textarea').send_keys
('江苏省-南京市-秦淮区-汉中路-501')
wd
.find_element_by_css_selector
('button.btn.btn-green.btn-outlined.btn-xs').click
()
sleep
(2)
infors
[0].send_keys
('南京中医院2')
infors
[1].send_keys
('2551867852')
wd
.find_element_by_css_selector
('textarea').send_keys
('江苏省-南京市-秦淮区-汉中路-502')
wd
.find_element_by_css_selector
('button.btn.btn-green.btn-outlined.btn-xs').click
()
sleep
(2)
infors
[0].send_keys
('南京中医院3')
infors
[1].send_keys
('2551867853')
wd
.find_element_by_css_selector
('textarea').send_keys
('江苏省-南京市-秦淮区-汉中路-503')
wd
.find_element_by_css_selector
('button.btn.btn-green.btn-outlined.btn-xs').click
()
sleep
(2)
wd
.find_element_by_css_selector
('[href="#/orders"] span').click
()
wd
.find_element_by_css_selector
('.col-lg-12 span').click
()
wd
.find_element_by_css_selector
('.col-lg-8 div:nth-child(1) input').send_keys
('订单1')
select1
= Select
(wd
.find_element_by_css_selector
(".col-lg-8 div:nth-child(2) .xxx"))
sleep
(1)
select1
.select_by_visible_text
('南京中医院2')
select2
= Select
(wd
.find_element_by_css_selector
(".col-lg-8 div:nth-child(3) .xxx"))
sleep
(1)
select2
.select_by_visible_text
('青霉素盒装1')
wd
.find_element_by_css_selector
("input[type='number']").send_keys
('100')
wd
.find_element_by_css_selector
('button.btn-xs:nth-child(1)').click
()
from selenium
import webdriver
from time
import sleep
from selenium
.webdriver
.support
.ui
import Select
wd
= webdriver
.Chrome
(r
'I:\chromedriver_win32\chromedriver.exe')
wd
.get
('http://127.0.0.1/mgr/sign.html')
wd
.implicitly_wait
(10)
wd
.maximize_window
()
elementuser
= wd
.find_element_by_id
('username')
elementuser
.send_keys
('byhy')
elementpass
= wd
.find_element_by_id
('password')
elementpass
.send_keys
('88888888')
elementbutton
=wd
.find_element_by_tag_name
('button')
elementbutton
.click
()
wd
.find_element_by_xpath
('//a[@href="#/orders"]//span').click
()
sleep
(2)
orders_had
=wd
.find_elements_by_xpath
('//div[@class="search-result-item"]')
if orders_had
:
for order_had
in orders_had
:
sleep
(2)
order_had
.find_element_by_xpath
('./div[5]//label').click
()
sleep
(2)
wd
.switch_to
.alert
.accept
()
sleep
(2)
wd
.find_element_by_xpath
('//a[@href="#/medicines"]//span').click
()
medicines
=wd
.find_elements_by_xpath
('//div[@class="search-result-item-actionbar"]')
if medicines
:
for medicine
in medicines
:
sleep
(2)
medicine
.find_element_by_xpath
('.//label[2]').click
()
sleep
(2)
wd
.switch_to
.alert
.accept
()
sleep
(2)
wd
.find_element_by_xpath
('//div[@class="col-lg-12 col-md-12 col-sm-12 add-one-area"]/button').click
()
sleep
(2)
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[1]/input').send_keys
('青霉素盒装1')
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[2]/input').send_keys
('YP-32342341')
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[3]/textarea').send_keys
('青霉素注射液,每支15ml,20支装')
wd
.find_element_by_xpath
('//div[@class="col-lg-12 col-md-12 col-sm-12"]/button[1]').click
()
sleep
(2)
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[1]/input').send_keys
('青霉素盒装2')
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[2]/input').send_keys
('YP-32342342')
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[3]/textarea').send_keys
('青霉素注射液,每支15ml,30支装')
wd
.find_element_by_xpath
('//div[@class="col-lg-12 col-md-12 col-sm-12"]/button[1]').click
()
sleep
(2)
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[1]/input').send_keys
('青霉素盒装3')
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[2]/input').send_keys
('YP-32342343')
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[3]/textarea').send_keys
('青霉素注射液,每支15ml,40支装')
wd
.find_element_by_xpath
('//div[@class="col-lg-12 col-md-12 col-sm-12"]/button[1]').click
()
sleep
(2)
wd
.find_element_by_xpath
('//a[@href="#/customers"]//span').click
()
customers
=wd
.find_elements_by_xpath
('//div[@class="search-result-item-actionbar"]')
if customers
:
for customer
in customers
:
sleep
(2)
customer
.find_element_by_xpath
('.//label[2]').click
()
sleep
(2)
wd
.switch_to
.alert
.accept
()
sleep
(2)
wd
.find_element_by_xpath
('//div[@class="col-lg-12 col-md-12 col-sm-12 add-one-area"]/button').click
()
sleep
(2)
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[1]/input').send_keys
('南京中医院1')
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[2]/input').send_keys
('2551867851')
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[3]/textarea').send_keys
('江苏省-南京市-秦淮区-汉中路-501')
wd
.find_element_by_xpath
('//div[@class="col-lg-12 col-md-12 col-sm-12"]/button[1]').click
()
sleep
(2)
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[1]/input').send_keys
('南京中医院2')
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[2]/input').send_keys
('2551867852')
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[3]/textarea').send_keys
('江苏省-南京市-秦淮区-汉中路-502')
wd
.find_element_by_xpath
('//div[@class="col-lg-12 col-md-12 col-sm-12"]/button[1]').click
()
sleep
(2)
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[1]/input').send_keys
('南京中医院3')
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[2]/input').send_keys
('2551867853')
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[3]/textarea').send_keys
('江苏省-南京市-秦淮区-汉中路-503')
wd
.find_element_by_xpath
('//div[@class="col-lg-12 col-md-12 col-sm-12"]/button[1]').click
()
sleep
(2)
wd
.find_element_by_xpath
('//a[@href="#/orders"]//span').click
()
sleep
(2)
wd
.find_element_by_xpath
('//div[@class="col-lg-12 col-md-12 col-sm-12 add-one-area"]/button').click
()
sleep
(2)
wd
.find_element_by_xpath
('//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[1]/input').send_keys
('xpath')
Select
(wd
.find_element_by_xpath
('//div//div[2]//select')).select_by_visible_text
('南京中医院2')
Select
(wd
.find_element_by_xpath
('//div//div[3]//select')).select_by_visible_text
('青霉素盒装1')
sleep
(2)
wd
.find_element_by_xpath
('//input[@type="number"]').send_keys
('100')
wd
.find_element_by_xpath
('//div[@class="col-lg-12 col-md-12 col-sm-12"]/button[1]').click
()
2、注意点
1、如果报错selenium.common.exceptions.NoAlertPresentException: Message: no such alert,可能是因为网页加载是异步的,导致有些节点还没有加载出来,但是代码已经在运行,所以在操作之前,先执行sleep()。 2、selenium的webdriver三种等待方式(显式等待WebDriverWait+implicitly_wait隐式等待+sleep强制等待) https://blog.csdn.net/cyjs1988/article/details/76033180 http://www.testclass.net/selenium_python/element-wait
3、知识点总结