Python selenium页面常用操作

1、打开网页

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

# 浏览器驱动路径,注意驱动与selenium版本相匹配
service = Service(executable_path=r'D:\chromedriver.exe')
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options)
driver.get("https://www.baidu.com/")

# 浏览器窗口最大化
driver.maximize_window()

2、通过Xpath查找网页元素

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.support import expected_conditions as EC

xpath = '//div[text()="登录"]'

# 常规方法,需要在元素显示完成后才能找到,否则会报错,通常前面加上time.sleep(2)设置等待时间
element = driver.find.element(By.XPATH, xpath)

# 程序自动等待元素加载
element = WebDriverWait(driver, 10).until(EC.presence_of_element_located(By.XPATH, xpath))

!注:xpath常用表达方式

通过文字精准查找://button[text()="登录"]

通过文字模糊查找://button[contains("登录")]

通过组件属性值查找://button[@id="button"]

确定属性的值,但属性名称动态变化://span[.="button"]

xpath层级关系表示://不限层级的下级  /表示直接下级 \..表示直接上级

如何快速定位元素的xpath:F12-Elements,小箭头点击页面元素可快速定位到HTML源码,右键“Copy XPath”

对于鼠标悬停才会出现的元素:直接在页面右击,选择“检查”,即可定位到HTML源码

3、操作页面元素

点击:element.click()

传值:element.send_keys('username')

特殊情况处理

  • 当按钮上面存在蒙层时,click()操作不生效,这时可使用script方法模拟鼠标点击:driver.execute_script("arguments[0].click()", element)
  • 元素被隐藏,click()操作不生效:
    driver.execute_script("arguments[0].style.display = 'block';", element)
    driver.execute_script("arguments[0].click()", element)

以下是 Python Selenium 常用命令: 1. 启动浏览器 ```python from selenium import webdriver # Chrome浏览器 driver = webdriver.Chrome() # Firefox浏览器 driver = webdriver.Firefox() # Edge浏览器 driver = webdriver.Edge() # Safari浏览器 driver = webdriver.Safari() # IE浏览器 driver = webdriver.Ie() ``` 2. 打开网页 ```python driver.get('https://www.example.com') ``` 3. 查找元素 ```python # 通过ID查找元素 element = driver.find_element_by_id('element_id') # 通过name查找元素 element = driver.find_element_by_name('element_name') # 通过class name查找元素 element = driver.find_element_by_class_name('element_class') # 通过tag name查找元素 element = driver.find_element_by_tag_name('element_tag') # 通过link text查找元素 element = driver.find_element_by_link_text('element_link_text') # 通过partial link text查找元素 element = driver.find_element_by_partial_link_text('element_partial_link_text') # 通过CSS选择器查找元素 element = driver.find_element_by_css_selector('element_css_selector') # 通过XPath查找元素 element = driver.find_element_by_xpath('element_xpath') ``` 4. 操作元素 ```python # 输入文本 element.send_keys('text') # 点击元素 element.click() # 获取元素文本 text = element.text # 获取元素属性 attribute_value = element.get_attribute('attribute_name') ``` 5. 等待页面加载 ```python from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 等待元素可见 element = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID, 'element_id'))) # 等待元素可点击 element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, 'element_id'))) # 等待元素存在 element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'element_id'))) ``` 以上是 Python Selenium 常用命令,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值