Selenium必备知识 Selenium必备知识

这是我参与11月更文挑战的第11天,活动详情查看:2021最后一次更文挑战

Selenium必备知识

浏览器窗口最大化

maximize_window()函数可将模拟浏览器窗口最大化

1
2
3
4
5
python复制代码from selenium import webdriver

w=webdriver.Chrome()
w.maximize_window()
w.get('https://www.baidu.com/')

QQ录屏20211110144428 00_00_00-00_00_30

XPath法定位

image-20211110144956682

打开百度

定位输入框并输入selenium

1
2
3
4
5
6
7
python复制代码from selenium import webdriver
from selenium.webdriver.common.by import By
w=webdriver.Chrome()
w.maximize_window()
w.get('https://www.baidu.com/')
# 定位输入框并输入selenium
w.find_element(By.XPATH,'//*[@id="kw"]').send_keys('selenium')

QQ录屏20211110145557

CSS法定位

image-20211110150010371

定位到百度一下并点击

1
2
3
4
5
6
7
8
9
10
11
python复制代码from selenium import webdriver
from selenium.webdriver.common.by import By

w=webdriver.Chrome()
w.maximize_window()
w.get('https://www.baidu.com/')
# 定位输入框并输入selenium
# .send_keys('selenium') 表示模拟键盘输入selenium
w.find_element(By.XPATH,'//*[@id="kw"]').send_keys('selenium')
# .click()表示模拟鼠标单击
w.find_element(By.CSS_SELECTOR,'#su').click()

切换浏览器同级页面

1
2
3
4
5
6
7
8
python复制代码# 获取浏览器所有窗口的句柄
handles = w.window_handles
# 切换到第一个窗口
w.switch_to.window(handles[0])
# 切换到最后一个窗口
w.switch_to.window(handles[-1])
# 切换到第二个窗口
w.switch_to.window(handles[1])

切换内嵌页面(网页中的网页)

image-20211111131531835

iframe 元素会创建包含另外一个文档的内联框架(即行内框架)。

1
2
3
css复制代码Iframe标记又叫浮动帧标记,可以用它将一个HTML文档嵌入在一个HTML中显示。
它和Frame标记的最大区别是在网页中嵌入 的<Iframe></Iframe>所包含的内容与整个页面是一个整体,而<Frame>< /Frame>所包含的内容是一个独立的个体,是可以独立显示的。
另外,应用Iframe还可以在同一个页面中多次显示同一内容,而不必重复这段内 容的代码。
1
2
3
python复制代码w.switch_to.frame('子页面的name属性值或者id属性值')
# 跳回最外层的页面
w.switch_to.default_content()

如果遇到没有id属性和name属性为空的情况,这时候就需要先定位iframe。

1
2
python复制代码iframe=w.find_element(By.TAG_NAME,'iframe')
w.switch_to.frame(iframe)

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%