我是靠谱客的博主 潇洒毛豆,最近开发中收集的这篇文章主要介绍python——selenium——xpath定位练习python——selenium——xpath定位练习,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

python——selenium——xpath定位练习

1.以【百度】为例:使用selenium完成,进入http://news.baidu.com/,打印出【 热点要闻 】,点击【娱乐】,打印 【即时新闻】

(1)导入【webdriver】、【sleep】

from selenium import webdriver
from time import sleep

(2)定义一个driver,使用火狐浏览器驱动,打开百度首页并最大化窗口

driver=webdriver.Firefox()
driver.maximize_window()
driver.get('http://news.baidu.com/')
print('-------------------------↓【 热点要闻 】↓-----------------------------')

(3)打印出【 热点要闻 】

redianyaowen=driver.find_element_by_xpath('//*[@id="pane-news"]')
print('热点要闻---->n',redianyaowen.text)
print('----------------------------↑【 热点要闻 】↑--------------------------n')

(4)点击【娱乐】,打印 【即时新闻】

print('-------------------------↓【 即时新闻】↓-----------------------------')
yule=driver.find_element_by_xpath('//*[@id="channel-all"]/div/ul/li[6]/a')
yule.click()
time.sleep(3)
jishixinwen=driver.find_element_by_xpath('/html/body/div[3]/div[1]/div[2]/div/div[2]')
print('娱乐---->即时新闻---->n',jishixinwen.text)
print('----------------------------↑【即时新闻】↑--------------------------')

(5)运行结果:部分截图如下,成功打印
在这里插入图片描述

2.以【CRM悟空软件】为例:使用selenium Web UI 自动化测试完成登录和添加任务操作

(1)导入【webdriver】、【time】、【unittest】

import unittest
from selenium import webdriver
import time

(2)定义一个类名叫【MyTestCase】

class MyTestCase(unittest.TestCase):

(3)在这个类里面,在测试执行之前,定义一个方法名【setUpClass】,它相当于测试开始执行前的准备工作,包含了以下内容

    @classmethod
    def setUpClass(cls) -> None:
        cls.URL = "http://192.168.10.188:8080/"
        cls.DRIVER = webdriver.Chrome()
        cls.DRIVER.maximize_window()

(4)定义第一个测试用例,命名为【test_1_login】,用于测试登录功能

    def test_1_login(self):
        driver = self.DRIVER
        driver.get(self.URL)
        ele_username = driver.find_element_by_xpath("//input[@name='username']")
        ele_password = driver.find_element_by_xpath("//input[@name='password']")
        ele_login_btn = driver.find_element_by_xpath("//button[@class='el-button submit-btn el-button--default']")

        ele_username.clear()
        ele_username.send_keys("admin")

        ele_password.clear()
        ele_password.send_keys('******')

        ele_login_btn.click()

        time.sleep(3) #TODO 等待登录成功后,页面加载完成

        success_url = driver.current_url
        print("登录成功后-URL->", success_url)

        self.assertTrue(success_url.endswith('workbench/index'),
                        msg='错误原因:登录成功后,url没有改变')
        # self.assertEqual(True, False)
        # <a data-v-dd9a3ef0="" href="#/workbench/task" class="router-link-exact-active router-link-active">

        try:
            ele_task_btn = driver.find_element_by_xpath("//a[@href='#/workbench/task']")
        except Exception as e:
            self.assertTrue(False, msg='错误原因:这个【任务】按钮不存在或找不到')
        else:
            ele_task_btn.click()
            
if __name__ == '__main__':
    unittest.main()

(5)定义第二个测试用例,命名为【test_2_create_task】,用于测试添加任务功能

    def test_2_create_task(self):
        time.sleep(3)
        driver = self.DRIVER
        ele_create_task_btn = driver.find_element_by_xpath("//button[@class='el-button new-btn el-button--primary']")
        ele_create_task_btn.click()
        time.sleep(3)

        TASK_NAME = "新建任务测试"
        ele_task_name = driver.find_element_by_xpath("//div[@class='el-input']/input")
        ele_task_name.send_keys(TASK_NAME)
        ele_task_detail = driver.find_element_by_xpath("//textarea[@class='el-textarea__inner']")
        ele_task_detail.send_keys("新任务描述")
        ele_save_btn = driver.find_element_by_xpath("//button[@class='el-button el-button--primary']")
        ele_save_btn.click()
        time.sleep(3)
        ele_list_box = driver.find_element_by_xpath("//div[@class='list-box']")
        ele_list_left = ele_list_box.find_element_by_xpath('div[1]/div[@class="list-left"]')
        print(ele_list_left.text)
        self.assertTrue( TASK_NAME in ele_list_left.text, msg=f'错误原因:创建成功后,第一条任务信息  不是 {TASK_NAME}')

    @classmethod
    def tearDownClass(cls) -> None:
        cls.DRIVER.quit()
        cls.URL = None

if __name__ == '__main__':
    unittest.main()

(6)运行结果:成功进入【CRM悟空软件】首页,成功登录,成功添加新任务,图略。

最后

以上就是潇洒毛豆为你收集整理的python——selenium——xpath定位练习python——selenium——xpath定位练习的全部内容,希望文章能够帮你解决python——selenium——xpath定位练习python——selenium——xpath定位练习所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部