当前位置:首页>python>Python3+Selenium:浏览器常见操作

Python3+Selenium:浏览器常见操作

  • 2026-10-11 07:43:09
Python3+Selenium:浏览器常见操作
PART 01
打开页面

1. 在原标签页打开

```pythondriver.get('https://www.csdn.net/')  # 会在原来窗口打开该页面```

2. 在新标签页打开

```python# 在新标签页中打开页面利用jsblogs = "window.open('https://www.cnblogs.com/')"driver.execute_script(blogs)sleep(2)```
PART 02
修改浏览器窗口大小

1. 修改为固定大小

```pythondriver.set_window_rect(width=800, height=700)```

2. 最大化

```pythondriver.maximize_window()```

3. 最小化

```pythondriver.minimize_window()```

4. 指定浏览器窗口的起始坐标

```pythondriver.set_window_rect(x=50, y=50)```
PART 03
浏览器前进&后退

1. 后退

```pythondriver.back()```

2. 前进

```pythondriver.forward()```
PART 04
浏览器切换

1. 标签页的切换

```python# 1>获取打开的多个窗口句柄windows = driver.window_handles  # <class 'list'># 2>切换到打开的第一个窗口driver.switch_to.window(windows[0])```

2. 窗口切换

  • 若打开新的标签页,则selenium实际操作的还是之前的页面

```pythonfrom selenium import webdriverhandles = []driver = webdriver.Chrome()driver.get("http://www.baidu.com/")# 获取当前窗口的句柄handles.append(driver.current_window_handle)# 点击页面进入一个新的标签页driver.find_element_by_link_text("地图").click()# 获取句柄handles.append(driver.current_window_handle)print(handles)print(driver.current_window_handle) >>>>['CDwindow-29A55CC9880075BD2CEFADB5C2360219', 'CDwindow-29A55CC9880075BD2CEFADB5C2360219']CDwindow-29A55CC9880075BD2CEFADB5C2360219# 根据结果可以看出,虽然打开新的窗口,但是实际操作的窗口句柄一直是最先打开的窗口,未发生变化```
  • 若想操作新打开的窗口,必须进行窗口切换

```python# 在上一步的代码,进入新标签页后添加切换窗口代码# 切换窗口到最新窗口driver.switch_to.window(driver.window_handles[-1])>>>>['CDwindow-6A70B3BF5D94A1A1ABF92B6E16885182', 'CDwindow-E56FC7EEE8138457D353197961F8E2AD']CDwindow-E56FC7EEE8138457D353197961F8E2AD# 结果可以看到此时会产生两个窗口的句柄,而当前操作的窗口为新打开的窗口```
PART 05
浏览器刷新
```pythondriver.refresh()```
PART 06
浏览器元素操作

1. 输入文本

```pythoninput_text = driver.find_element_by_id("kw")input_text.send_keys("输入的文本内容")sleep(1)```

2. 清空文本

```pythoninput_text.clear()```

3. 返回元素的文本内容

```pythonbuttonText = driver.find_element_by_id("s-top-loginbtn")print(buttonText.text)```

4. 获取标签属性值

```pythonprint(buttonText.get_attribute("name"))```

5. 返回元素的尺寸

```pythonprint(buttonText.size)```

6. 判断该元素是否可见

```pythonprint(buttonText.is_displayed())```
PART 07
浏览器关闭

1. 关闭当前

```pythondriver.close()```

2. 关闭全部

```pythondriver.quit()```

最新文章

随机文章