基础函数

find_elements用法 返回数组

  • find_element_by_xx("") 的方法在selenium4.0+版本已经废弃不用了
  • 已经废弃不用

    browser.find_element_by_id()  # 根据id
    browser.find_element_by_link_text()  # 根据a标签的文字
    browser.find_element_by_partial_link_text()  # 根据a标签的文字模糊匹配
    browser.find_element_by_tag_name()  # 根据标签名
    browser.find_element_by_class_name()  # 根据类名
    browser.find_element_by_name()  # 根据name属性
    browser.find_element_by_css_selector()  # css选择器
    
  • 操作命令参考
    https://blog.csdn.net/weixin_67531112/article/details/128207021
    https://www.python100.com/html/77815.html

  • 4.0+命令

browser.find_elements(By.ID, "titbox")
browser.find_elements(By.NAME, "titbox")
browser.find_elements(By.CLASS_NAME, "titbox")
browser.find_elements(By.TAG_NAME, "titbox")
browser.find_elements(By.XPATH, "titbox")

find_element 返回对象

# 查找网页中id为'login'的标签
tag = browser.find_element(by=By.ID, value='login')
# 查找网页中class为'login'的所有标签
tags = browser.find_elements(By.CLASS_NAME, value='login')
# 查找网页div标签中class属性为'dd'的标签
tag = browser.find_element(by=By.CSS_SELECTOR, value='div .dd')
# 查找网页中a标签文字为'登录'的标签
tag = browser.find_element(by=By.LINK_TEXT, value='登录')

等待数据加载完成

browser.implicitly_wait(10)

获取动态生成的数据

dynamic_data = browser.find_element(By.ID, "id").text

在文本框输入内容

search_box = browser.find_element(By.ID, "id")
search_box.send_keys('Selenium')

#清空文本框
tag.clear()

点击搜索按钮

search_button = browser.find_element(By.ID, "btn1")
search_button.click()

获取element属性

word = browser.find_element(By.ID, 'kw')
print(word.location)  # 标签所在位置,{'x': 298, 'y': 188}
print(word.size)  # 标签大小,{'height': 44, 'width': 550}
print(word.id)  # 标签id号,不是id属性
print(word.tag_name)  # 标签名字,input
print(word.get_attribute('class'))  # 获取标签的class属性值,s_ipt

执行js代码

#滚动条到最底部
browser.execute_script('scrollTo(0,document.body.scrollHeight)')
# 打开新标签
browser.execute_script('window.open()')

切换选项卡

#当浏览器打开了多个选项卡,需要切换时
browser.switch_to.window(browser.window_handles[1])
browser.window_handles[0]代表第一个选项卡
browser.window_handles[1]代表第二个选项卡

浏览器前进后退

浏览器前进:
browser.forward()
浏览器后退:
browser.back()