моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Edge()
url = "..."
driver.get(url)
driver.maximize_window()
# 隐式等待 每隔半秒钟查询一次
driver.implicitly_wait(10)
element = driver.find_element(By.NAME, 'name_attribute')
element = driver.find_element(By.ID, 'id_attribute')
element = driver.find_element(By.CSS_SELECTOR, 'css_selector')
element = driver.find_element(By.XPATH, 'xpath_selector')
element = driver.find_element(By.CLASS_NAME, 'class_attribute')
element = driver.find_element(By.LINK_TEXT, 'link_text')
element = driver.find_element(By.PARTIAL_LINK_TEXT, 'partial_link_text')
element = driver.find_element(By.TAG_NAME, 'tag_name')
elements = driver.find_elements()
# find_element()选取符合标签的第一个元素,如果没有则抛出异常
# find_elements()选取符合标签的所有元素,如果没有则返回一个空列表
# webDriver使用find时,是在整个web页面中查找
# webElement使用find时,是在该element下查找
for element in elements:
print(element.text)
# 向某个元素输入内容
element.send_keys("admin")
# 清空某个元素的文本
element.clear()
# 某个元素全部的html内容
element.get_attribute("outerHTML")
# 某个元素内部的html
element.get_attribute("innerHTML")
# 获取输入框内的内容
element.get_attribute("value")
# 清空输入框
element.click()
# 获取元素显示在页面上的内容
element.text
# 切换浏览器页面的操作范围
driver.switch_to.frame('frame_selector')
# 切换浏览器窗口
for handle in driver.window_handles:
driver.switch_to.window(handle)
if 'baidu' in driver.title:
break
# 关闭浏览器驱动
driver.quit()
# select 选择框
from selenium.webdriver.support.ui import Select
select = Select(driver.find_element(By.ID, "ss_multi"))
select.deselect_all()
select.select_by_visible_text("text")
# 鼠标移动到某个element上
from selenium.webdriver.common.action_chains import ActionChains
ac = ActionChains(driver)
ac.move_to_element(driver.find_element(...)).perform()
ac.move_by_offset()
# 弹出框
# 点ok
driver.switch_to.alert.accept()
# 点cancel
driver.switch_to.alert.dismiss()
# 弹出框里的文本
driver.switch_to.alert.text