在Selenium WebDriver中使用By.Xpath快速定位页面元素


  

以登录页面密码框定位为例,讲解如何在selenium webdriver中通过by.xpath定位页面元素,快速获取元素位置并完成操作。

 

问题引入:

 

用Selenium IDE录制后的脚本如下:

driver.findElement(By.name("pass")).clear();

driver.findElement(By.name("pass")).sendKeys("密 码");

driver.findElement(By.id("passwords")).clear();

driver.findElement(By.id("passwords")).sendKeys("123456");

回放的时候,页面非常难定位,需要很长时间才能找到密码框并输入密码,如果超时了找不到就会报错。

 

解决方案:

既然有时候能回放成功,有时候又找不到页面元素,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`from selenium import webdriver`是Python使用Selenium库的一种方式,它允许你在Python控制浏览器进行自动化测试或者爬虫。其`webdriver`是Selenium的一个模块,它提供了各种浏览器的驱动程序,例如Chrome、Firefox等。通过使用`webdriver`模块,你可以启动一个浏览器实例,并且控制它进行各种操作,例如打开网页、填写表单、点击按钮等。 `from selenium.webdriver.common.by import By`是Selenium的一个模块,它提供了一些方法来定位网页元素。在自动化测试或者爬虫,我们需要通过定位网页元素来进行后续的操作,例如输入文本、点击按钮等。`By`模块提供了以下几种定位方法: - `By.ID`:通过元素的id属性进行定位。 - `By.NAME`:通过元素的name属性进行定位。 - `By.CLASS_NAME`:通过元素的class属性进行定位。 - `By.TAG_NAME`:通过元素的标签名进行定位。 - `By.LINK_TEXT`:通过元素的链接文本进行定位。 - `By.PARTIAL_LINK_TEXT`:通过元素的部分链接文本进行定位。 - `By.XPATH`:通过元素XPath表达式进行定位。 - `By.CSS_SELECTOR`:通过元素的CSS选择器进行定位。 例如,如果我们想要通过id属性定位一个元素,可以使用以下代码: ```python from selenium.webdriver.common.by import By from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.example.com") element = driver.find_element(By.ID, "my-id") ``` 其`driver.find_element(By.ID, "my-id")`方法会返回一个`WebElement`对象,它代表了网页的一个元素。我们可以通过这个对象进行后续的操作,例如输入文本、点击按钮等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值