selenium自动化怎么新建一个网页窗口
时间: 2023-12-05 12:56:51 浏览: 33
可以使用selenium中的`switch_to.window()`方法来新建一个网页窗口,具体步骤如下:
1. 使用`selenium.webdriver`打开一个网页
```
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
```
2. 执行一些操作,比如点击一个链接,打开一个新的窗口
```
link = driver.find_element_by_link_text("新闻")
link.click()
```
3. 切换到新的窗口
```
# 获取当前窗口的句柄
current_handle = driver.current_window_handle
# 获取所有窗口的句柄
all_handles = driver.window_handles
# 切换到新窗口
for handle in all_handles:
if handle != current_handle:
driver.switch_to.window(handle)
break
```
这样就可以在selenium中新建一个网页窗口了。
相关问题
写一段Selenium自动化代码案例
好的,以下是一个简单的Selenium自动化代码案例:
```python
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# 创建一个Chrome浏览器实例
driver = webdriver.Chrome()
# 打开百度网站
driver.get("http://www.baidu.com")
# 找到搜索框并输入关键词
search_box = driver.find_element_by_name("wd")
search_box.send_keys("Selenium")
# 模拟键盘Enter键,提交搜索请求
search_box.send_keys(Keys.RETURN)
# 等待搜索结果页面加载完毕
driver.implicitly_wait(10)
# 打印搜索结果标题
result_title = driver.find_element_by_css_selector("#content_left h3")
print(result_title.text)
# 关闭浏览器窗口
driver.quit()
```
这段代码使用Selenium模拟了在百度搜索框中输入关键词“Selenium”,并提交搜索请求的过程,然后等待搜索结果页面加载完毕,并打印出第一个搜索结果的标题。最后关闭了浏览器窗口。
写一段selenium自动化测试框架
好的,以下是一个示例的Selenium自动化测试框架:
```python
import unittest
from selenium import webdriver
class MyTestCase(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.maximize_window()
self.driver.implicitly_wait(10)
def test_login(self):
self.driver.get("https://example.com")
self.driver.find_element_by_name("username").send_keys("my_username")
self.driver.find_element_by_name("password").send_keys("my_password")
self.driver.find_element_by_name("login").click()
self.assertEqual(self.driver.title, "Welcome to Example.com")
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
```
这个框架使用了Python的unittest库来编写测试用例。在setUp()方法中,我们创建了一个Chrome浏览器实例,并设置了一些常见的属性,比如窗口最大化和隐式等待时间。在test_login()方法中,我们打开了一个网站,输入了用户名和密码,然后点击登录按钮,并使用断言验证了是否成功登录。在tearDown()方法中,我们关闭了浏览器。
这是一个基本的自动化测试框架,你可以根据需要进行扩展和修改。例如,你可以添加更多的测试用例,或使用不同的浏览器驱动程序,如Firefox或Safari。