python 自动点击网页上按钮_python selenium自动化(一)点击页面链接测试

本文介绍如何使用Python的Selenium库自动化测试网页上的链接,特别是那些在本窗口内跳转并保持在同一站点的链接。通过查找并判断元素的`href`和`target`属性,确保链接符合要求,利用`back()`方法实现页面跳转后的返回,并通过循环遍历和点击链接以完成自动化测试。在实现过程中,需注意因页面变化导致的StaleElementReferenceException异常,并提供解决方案。
摘要由CSDN通过智能技术生成

需求:现在有一个网站的页面,我希望用python自动化的测试点击这个页面上所有的在本窗口跳转,并且是本站内的链接,前往到链接页面之后在通过后退返回到原始页面。

要完成这个需求就必须实现3点:

1. 找到原始页面上面所有的在本窗口内跳转的链接

2. 跳转到目标页面之后,“后退”到原始页面

3. 在原始页面上继续点击后续的链接

首先,要找到页面上的所有链接并不困难。selenium为我们提供了find_elements_by_tag_name方法。我们只需要在初始化webdriver之后,调用

driver.find_elements_by_tag_name("a")

就能找到页面上的所有a标签。

我们可以对所有的a标签进行点击,但是这样的话我们不能保证所有的a标签所指向的目标页面都是站内的,有可能目标是其他的站外网页;另外这样也不能保证该跳转页面是在本窗口跳转而不是新开一个窗口。

解决办法:

使用selenium.webdriver.remote.webelement.WebElement提供的get_attribute方法。

通过get_attribute拿到该a标签的各种属性,通过判断找到符合要求的元素进行点击。

get_attribute("href") 得到a标签对应的目标页面的URL,对URL进行判断就可以了解到该页面是否站内页面。我们可以知道,如果是站内页面的话这个属性一般会是一个相对路径,或者包含了本站域名,但如果是站外页面的话,那它一定是包含了“http”的一个url。

get_attribute("target")如果target不是"_blank"的话,可以判断该页面是在本窗口跳转的。

跳转到下一页面后如何返回原

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值