1、初始化浏览器、刷新、最大化、后退、前进、截图
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
#初始化浏览器为谷歌浏览器
chr=webdriver.Chrome()
# 无界面的浏览器
# option = webdriver.ChromeOptions()
# option.add_argument("headless")
# chr = webdriver.Chrome(options=option)
#浏览器最大化
chr.maximize_window()
chr.get("https://www.baidu.com")
# chr.get("https://www.jd.com/")
#后退
chr.back()
#暂停2s
time.sleep(2)
#前进
chr.forward()
#刷新
chr.refresh()
#截图
chr.get_screenshot_as_file('截图.png')
#点击
chr.find_element(By.ID,'kw').click()
#输入
chr.find_element(By.ID,'kw').send_keys("saa")
time.sleep(2)
#清除输入框内容
chr.find_element(By.ID,'kw').clear()
time.sleep(2)
#关闭浏览器
chr.close()
2、单个元素定位的方法
selenium4使用的时候需要导入模块 from selenium.webdriver.common.by import By
find_element(By.XPATH, "//*[@id='search']")
find_element(By.CLASS_NAME, "element_class_name")
find_element(By.ID,"element_id")
find_element(By.NAME, "element_name")
find_element(By.LINK_TEXT,"element_link_text")
find_element(By.CSS_SELECTOR, "element_css_selector")
find_element(By.TAG_NAME, "element_tag_name")
find_element(By.PARTIAL_LINK_TEXT, "element_partial_link_text")
3、多个元素定位的方法
与单个元素的定位方式类似,把find_element改成find_elements即可
4、定位select类型的下拉框
select_by_index() # 通过索引定位;注意:>index索引是从“0”开始。
select_by_value() # 通过value值定位,va>lue标签的属性值。
select_by_visible_text() # 通过文本值定位,即显>示在下拉框的值。
Select(chr.find_element_by_name("姓名")).select_by_index(1)
或者分开写
a=chr.find_element_by_name("姓名")
Select(a).select_by_index(1)
5、多窗口切换
current_window_handle
:获取当前窗口的句柄
window_handles
:返回当前浏览器的所有窗口的句柄
switch_to_window()
:用于切换到对应的窗口
chr.get("https://www.baidu.com")
a=chr.current_window_handle
chr.execute_script('window.open()')
chr.switch_to.window(chr.window_handles[1])
chr.get("https://www.jd.com/")
# chr.switch_to.window(chr.window_handles[0])
chr.switch_to.window(a)
6、iframe切换
driver.switch_to.frame(driver.find_element_by_xpath("//iframe[contains(@src,'myframe')]"))
#回到默认的iframe
driver.switch_to.default_content()
7、键盘操作
send_keys(Keys.BACK_SPACE)
:删除键(BackSpace)
send_keys(Keys.SPACE)
:空格键(Space)
send_keys(Keys.TAB)
:制表键(TAB)
send_keys(Keys.ESCAPE)
:回退键(ESCAPE)
send_keys(Keys.ENTER)
:回车键(ENTER)
版权归原作者 测试小小苏 所有, 如有侵权,请联系我们删除。