赞
踩
此方法类似于模拟键盘键入。以在百度首页搜索框输入“Selenium”为例,代码如下:
- # _*_ coding:utf-8 _*_
- """
- name:zhangxingzai
- date:2023/2/13
- form:《Selenium 3+Python 3自动化测试项目实战》
- """
-
- from selenium import webdriver
- from selenium.webdriver.common.by import By
-
- driver = webdriver.Firefox()
- # 打开百度
- driver.get('https://www.baidu.com/')
- # 通过id,在搜索输入框中输入文本“Selenium”
- driver.find_element(By.ID, 'kw').send_keys('Selenium')
Selenium 提供了 text 方法用于获取文本值,即 HTML 标签“<a></a>”之间的文字。以在
百度首页超链接“新闻”为例,代码如下:
- from selenium import webdriver
- from selenium.webdriver.common.by import By
-
- driver = webdriver.Firefox()
- # 打开百度
- driver.get('https://www.baidu.com/')
- # 通过link_text定位,点击‘新闻’超链接
- driver.find_element(By.LINK_TEXT, '新闻').click()
以百度首页的“百度一下”按钮为例,获取属性 value 对应的值(页面元素如图所示),
可以用 get_attribute 方法来实现。
代码如下:
- from selenium import webdriver
- from selenium.webdriver.common.by import By
-
- driver = webdriver.Firefox()
- # 打开百度
- driver.get('https://www.baidu.com/')
- # 执行后,控制台打印“百度一下”
- print(driver.find_element(By.ID, 'su').get_attribute('value'))
输出结果为:
- from selenium import webdriver
-
- driver = webdriver.Firefox()
- # 打开百度
- driver.get('https://www.baidu.com/')
- # 参数数字为像素
- print("设置浏览器宽 480、高 500 显示")
- driver.set_window_size(480, 500)
- from selenium import webdriver
-
- driver = webdriver.Firefox()
- # 打开百度
- driver.get('https://www.baidu.com/')
- # 参数数字为像素
- print("设置浏览器宽 480、高 500 显示")
- driver.set_window_size(480, 500)
- # 将窗口最大化
- driver.maximize_window()
在使用 Web 浏览器浏览网页时,浏览器提供了后退和前进按钮,可以方便地在浏览过
的网页之间切换,WebDriver 还提供了对应的 back()和 forward()方法来模拟后退和前进按
钮。下面通过例子演示这两个方法的使用。
- from selenium import webdriver
-
- driver = webdriver.Firefox()
- # 打开百度
- driver.get('https://www.baidu.com/')
- # 访问百度首页
- first_url = 'http://www.baidu.com'
- print("now access %s" %(first_url))
- driver.get(first_url)
- # 访问新闻页
- second_url='http://news.baidu.com'
- print("now access %s" %(second_url))
- driver.get(second_url)
- # 返回(后退)到百度首页
- print("back to %s " %(first_url))
- driver.back()
- # 前进到新闻页
- print("forward to %s" %(second_url))
- driver.forward()
为了看清楚脚本的执行过程,这里每操作一步都通过 print()打印当前的 URL 地址。
- from selenium import webdriver
-
- driver = webdriver.Firefox()
- # 打开百度
- driver.get('https://www.baidu.com/')
- #刷新当前页面
- driver.refresh()
有些搜索框不提供搜索按钮,而是通过按键盘上的回车键完成搜索内容的提交,这时可以通过 submit()模拟。
- from selenium import webdriver
- from selenium.webdriver.common.by import By
-
- driver = webdriver.Firefox()
- # 打开百度
- driver.get('https://www.baidu.com/')
- # 搜索框输入‘python’
- driver.find_element(By.ID, 'kw').send_keys('python')
- # 提交表单
- driver.find_element(By.ID, 'kw').submit()
以在百度搜索框输入“python”,再清除为例,示例代码如下:
- from selenium import webdriver
- from selenium.webdriver.common.by import By
-
- driver = webdriver.Firefox()
- # 打开百度
- driver.get('https://www.baidu.com/')
- # 搜索框输入‘python’
- driver.find_element(By.ID, 'kw').send_keys('python')
- # 清除内容
- driver.find_element(By.ID, 'kw').clear()
- from selenium import webdriver
-
- driver = webdriver.Firefox()
- # 打开百度
- driver.get('https://www.baidu.com/')
- # 关闭浏览器
- driver.close()
quit()也是关闭浏览器,但是是退出驱动程序并关闭所有相关窗口
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。