当前位置:   article > 正文

【Selenium学习】Selenium 中常用的基本方法_selenium输入文本

selenium输入文本

1.send_keys 方法模拟键盘键入

此方法类似于模拟键盘键入。以在百度首页搜索框输入“Selenium”为例,代码如下:

  1. # _*_ coding:utf-8 _*_
  2. """
  3. name:zhangxingzai
  4. date:2023/2/13
  5. form:《Selenium 3+Python 3自动化测试项目实战》
  6. """
  7. from selenium import webdriver
  8. from selenium.webdriver.common.by import By
  9. driver = webdriver.Firefox()
  10. # 打开百度
  11. driver.get('https://www.baidu.com/')
  12. # 通过id,在搜索输入框中输入文本“Selenium”
  13. driver.find_element(By.ID, 'kw').send_keys('Selenium')

2.text 方法获取文本值

Selenium 提供了 text 方法用于获取文本值,即 HTML 标签“<a></a>”之间的文字。以在

百度首页超链接“新闻”为例,代码如下:

  1. from selenium import webdriver
  2. from selenium.webdriver.common.by import By
  3. driver = webdriver.Firefox()
  4. # 打开百度
  5. driver.get('https://www.baidu.com/')
  6. # 通过link_text定位,点击‘新闻’超链接
  7. driver.find_element(By.LINK_TEXT, '新闻').click()

3.get_attribute()获取属性值

以百度首页的“百度一下”按钮为例,获取属性 value 对应的值(页面元素如图所示),

可以用 get_attribute 方法来实现。

代码如下:

  1. from selenium import webdriver
  2. from selenium.webdriver.common.by import By
  3. driver = webdriver.Firefox()
  4. # 打开百度
  5. driver.get('https://www.baidu.com/')
  6. # 执行后,控制台打印“百度一下”
  7. print(driver.find_element(By.ID, 'su').get_attribute('value'))

输出结果为:

4.set_window_size()方法控制浏览器窗口大小

  1. from selenium import webdriver
  2. driver = webdriver.Firefox()
  3. # 打开百度
  4. driver.get('https://www.baidu.com/')
  5. # 参数数字为像素
  6. print("设置浏览器宽 480、高 500 显示")
  7. driver.set_window_size(480, 500)

5.maximize_window() 方法控制浏览器窗口最大化

  1. from selenium import webdriver
  2. driver = webdriver.Firefox()
  3. # 打开百度
  4. driver.get('https://www.baidu.com/')
  5. # 参数数字为像素
  6. print("设置浏览器宽 480、高 500 显示")
  7. driver.set_window_size(480, 500)
  8. # 将窗口最大化
  9. driver.maximize_window()

6.控制浏览器后退、前进

在使用 Web 浏览器浏览网页时,浏览器提供了后退和前进按钮,可以方便地在浏览过

的网页之间切换,WebDriver 还提供了对应的 back()和 forward()方法来模拟后退和前进按

钮。下面通过例子演示这两个方法的使用。

  1. from selenium import webdriver
  2. driver = webdriver.Firefox()
  3. # 打开百度
  4. driver.get('https://www.baidu.com/')
  5. # 访问百度首页
  6. first_url = 'http://www.baidu.com'
  7. print("now access %s" %(first_url))
  8. driver.get(first_url)
  9. # 访问新闻页
  10. second_url='http://news.baidu.com'
  11. print("now access %s" %(second_url))
  12. driver.get(second_url)
  13. # 返回(后退)到百度首页
  14. print("back to %s " %(first_url))
  15. driver.back()
  16. # 前进到新闻页
  17. print("forward to %s" %(second_url))
  18. driver.forward()

为了看清楚脚本的执行过程,这里每操作一步都通过 print()打印当前的 URL 地址。

7.refresh()方法模拟浏览器刷新

  1. from selenium import webdriver
  2. driver = webdriver.Firefox()
  3. # 打开百度
  4. driver.get('https://www.baidu.com/')
  5. #刷新当前页面
  6. driver.refresh()

8.submit():提交表单。

有些搜索框不提供搜索按钮,而是通过按键盘上的回车键完成搜索内容的提交,这时可以通过 submit()模拟。

  1. from selenium import webdriver
  2. from selenium.webdriver.common.by import By
  3. driver = webdriver.Firefox()
  4. # 打开百度
  5. driver.get('https://www.baidu.com/')
  6. # 搜索框输入‘python’
  7. driver.find_element(By.ID, 'kw').send_keys('python')
  8. # 提交表单
  9. driver.find_element(By.ID, 'kw').submit()

9.clear() 清除输入框值

以在百度搜索框输入“python”,再清除为例,示例代码如下:

  1. from selenium import webdriver
  2. from selenium.webdriver.common.by import By
  3. driver = webdriver.Firefox()
  4. # 打开百度
  5. driver.get('https://www.baidu.com/')
  6. # 搜索框输入‘python’
  7. driver.find_element(By.ID, 'kw').send_keys('python')
  8. # 清除内容
  9. driver.find_element(By.ID, 'kw').clear()

10.close()关闭当前窗口

  1. from selenium import webdriver
  2. driver = webdriver.Firefox()
  3. # 打开百度
  4. driver.get('https://www.baidu.com/')
  5. # 关闭浏览器
  6. driver.close()

quit()也是关闭浏览器,但是是退出驱动程序并关闭所有相关窗口

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号