selenium无法获取元素节点的问题

首先出现这个问题的时候,在xpath也匹配不到元素的时候,我们马上就要想到,该页面采用了frame框架或者其他框架
采用了框架的话,没有进入到对应的框架上下文,是无法匹配到对应元素的
所以我们首先要进入到对应的框架上下文里
在python中,可以执行下面语句
driver.switch_to.frame(匹配方式)
括号里的匹配方式有多种
1.driver.find_element_by_tag_name(‘iframe’)
2.也可以用索引名,index
3.直接用id名

进入到框架里之后,就可以用正常的匹配语句去进行匹配了

有些情况下可以用css_selector进行匹配,在浏览器中复制selector就行

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VBA(Visual Basic for Applications)是一种用于自动化任务和编写宏的编程语言,常用于Microsoft Office套件中的应用程序,如Excel、Word和Access等。通过VBA,您可以编写代码来操作和控制这些应用程序的功能。 Selenium是一个用于Web应用程序测试的开源工具。它提供了一组API,可以模拟用户在浏览器中的操作,如点击、输入文本、选择下拉框等。通过Selenium,您可以编写自动化脚本来执行各种Web应用程序测试任务。 要获取节点,您可以使用SeleniumXPath定位方法。XPath是一种用于在XML文档中定位元素的语言,也可以用于HTML文档。以下是使用XPath获取节点的示例代码: ```vba ' 导入Selenium Reference Libraries -> Selenium Type Library Sub GetParentNode() ' 创建WebDriver对象 Dim driver As New WebDriver driver.Start "chrome" ' 打开网页 driver.Get "https://www.example.com" ' 使用XPath定位子节点 Dim childNode As WebElement Set childNode = driver.FindElementByXPath("//div[@id='child']") ' 获取节点 Dim parentNode As WebElement Set parentNode = childNode.FindElementByXPath("..") ' 输出父节点文本 MsgBox parentNode.Text ' 关闭浏览器 driver.Quit End Sub ``` 在上面的示例代码中,我们首先创建了一个WebDriver对象,并启动了Chrome浏览器。然后,我们打开了一个网页,并使用XPath定位子节点。接下来,我们使用".."(两个点)来获取节点,并输出其文本内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值