selenium学习----数据驱动测试之参数化搜索关键字

同样是以百度搜索为例,每天我们来上网搜索很多东西,每次的搜索步骤都是一样的,就只是关键字不一样,在这种情况下可以考虑将关键字放到数组中,对关键字来进行搜索,本文提供几种搜索方法,顺便也结合回顾下之前学习的知识点:

1.将关键字存入数组中,每次搜索读取关键字,搜索完成后关闭页面,进行下一个关键字的搜索

from selenium import webdriver

search_text = ['python','java','selenium']

for text in search_text:
    driver = webdriver.Firefox()
    driver.implicitly_wait(10)
    driver.get("http://www.baidu.com")
    driver.find_element_by_id("kw").send_keys(text)
    driver.find_element_by_id("su").click()
    driver.quit()

2.结合之前学过的back()方法,只打开一次搜索界面,来进行关键字搜索

from selenium import selenium
from time import sleep

search_text = ['python','java','selenium']

driver = webdriver.Firefox()
driver.implicitly_wait(10)
driver.get("http://www.baidu.com")

for text in search_text:
    driver.find_element_by_id("kw").send_keys(text)
    driver.find_element_by_id("su").click()
    sleep(3)
    driver.back()

driver.quit()

3.结合之前学习的Keys函数中提供的方法,对关键字执行剪切操作,进行多关键字搜索,并且对每次搜索结果进行截图显示

from selenium import webdriver
from time import sleep
#导入Keys模块
from selenium.webdriver.common.keys import Keys

search_text = ['python','java','selenium']

#用CONTROL+X实现搜索关键字
try:
    driver = webdriver.Firefox()
    driver.implicitly_wait(10)
    driver.get("http://www.baidu.com")

    for text in search_text:
        driver.find_element_by_id("kw").send_keys(text)
        driver.find_element_by_id("su").click()
        sleep(5)
        #对每次的搜索结果进行截图保存,图片以搜索关键字为名称保存
        driver.get_screenshot_as_file("E:\\selenium_project\\5.3.2 参数化搜索关键字\\%s.png" %text)
        #对搜索的关键字进行全选
        driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
        #选中关键字之后执行剪切操作
        driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')

except BaseException as msg:
    print(msg)

finally:
    driver.quit()

猜你喜欢

转载自blog.csdn.net/u012605082/article/details/80574792