selenium定位网页元素的方法和显示等待与隐试等待的区别


1. Selenium定位网页元素的方法:

Selenium定位网页元素主要有以下几种方法:

- 按ID查找元素:driver.find_element_by_id(id)

- 按名称查找元素:driver.find_element_by_name(name)

- 按标签名称查找元素:driver.find_element_by_tag_name(tagname)

- 按类名查找元素:driver.find_element_by_class_name(classname)

- 按CSS选择器查找元素:driver.find_element_by_css_selector(selector)

- 按XPath查找元素:driver.find_element_by_xpath(xpath)

2. Selenium关于如何进行鼠标、键盘操作:

使用Selenium进行鼠标和键盘操作,可以通过ActionChains类来实现。例如:

- 鼠标悬停:使用move_to_element()方法将鼠标移动到目标元素上,然后使用perform()方法执行操作。

- 鼠标单击:使用click()方法单击目标元素,并使用perform()方法执行操作。

- 模拟键盘输入:使用send_keys()方法输入文本,并使用perform()方法执行操作。

例如:


from selenium.webdriver.common.action_chains import ActionChains

element = driver.find_element_by_xpath("//a[contains(text(),'登录')]")

# 鼠标悬停
ActionChains(driver).move_to_element(element).perform()

# 鼠标单击
ActionChains(driver).click(element).perform()

# 模拟键盘输入
user_name = driver.find_element_by_id("user_name")
user_name.send_keys("test")

password = driver.find_element_by_id("password")
password.send_keys("123456")

3. 隐式等待和显示等待的区别以及实际运用场景:

- 隐式等待:使用implicitly_wait()方法设置一个全局等待时间,等待时间内Selenium会每隔一段时间检查一次页面元素是否加载完成,如果超过等待时间还未完成则抛出异常。

- 显示等待:使用WebDriverWait类和expected_conditions类结合使用,设置等待条件和等待时间,等待时间内Selenium会每隔一段时间检查一次等待条件是否满足,如果超过等待时间还未满足则抛出异常。

实际运用场景如下:

- 隐式等待适合用于多个测试用例之间的等待,可以统一设置等待时间,不需要在每个测试用例中单独设置等待时间。

- 显示等待适合用于特定的测试场景,例如等待某个元素在一定时间内出现,或者等待某个元素在一定时间内可点击等。

例子代码如下:


# 隐式等待
driver.implicitly_wait(10) # 等待10秒

# 显示等待
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "some_element_id")))


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值