在浏览器中xpath正确而在程序中无法定位的解决方案

今天在帮学姐爬取一个化学网站的数据时,遇到了一个小问题,当我在浏览器中用xpath语法定位到该表格元素后并将其copy至程序中后,我发现怎么样都无法正确定位。

当然最后还是找到了解决方案:查看源代码,因为在浏览器中普遍会对html代码进行优化,在源代码中定位到目标元素中后发现表格中的table元素下没有tbody,是浏览器自动加上去的,还有就是p元素的标签没有闭合,也是浏览器自动补上去的…之后就可以根据原始的html代码而进行查找了。

当然我个人认为还有第二种解决方案就是使用selenium进行定位,因为是使用操作浏览器,所以应该会正常渲染补全标签。

是真的很坑。。。。。记得以前在慕课上好像看到过这个情况来着

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 如果您在浏览器修改了元素,可以使用浏览器的开发者工具来查看元素的修改后的属性和样式。在开发者工具选择该元素,可以查看其属性和样式的更改。 如果您希望在本地端代码定位修改后的元素,可以使用类名、ID 或其他属性来定位该元素。如果该元素的类名或 ID 发生了更改,则需要相应地更新本地代码的选择器。如果您不确定元素的更改是否会影响代码的其他部分,则建议进行全面的测试和调试。 ### 回答2: 浏览器的元素修改后,可以通过多种方式在本地端代码定位。 1. 使用开发者工具:现代浏览器都提供了开发者工具,可以通过F12或右键菜单的"检查元素"来打开。在开发者工具,可以查看页面的HTML结构,并实时看到元素的样式和属性的变化。可以通过选择器或XPath定位元素,并在本地端代码使用相同的选择器或XPath定位。 2. 调试代码:如果是在本地端代码修改了浏览器的元素,可以在代码添加调试断点,然后使用调试工具来查看断点处的代码执行情况。通过调试工具可以查看元素的属性、样式等信息,从而找到在本地端代码定位该元素的方法。 3. 使用JavaScript:可以编写JavaScript代码定位元素。可以使用document对象的各种方法,如getElementById、getElementsByClassName、getElementsByTagName等来获取元素的引用。也可以使用querySelector、querySelectorAll等方法来使用选择器定位元素。通过获取元素的引用,可以在本地端代码对其进行操作。 总之,浏览器的元素修改后,可以通过开发者工具、调试代码或JavaScript等方式在本地端代码定位。具体选择哪种方式取决于具体情况和个人偏好。 ### 回答3: 在浏览器修改元素后,可以通过以下方法在本地代码定位: 1. 使用浏览器的开发者工具(如Chrome的开发者工具),选择Elements(元素)选项卡。在该选项卡,可以查看和操作当前页面的HTML结构和CSS样式。 2. 在Elements选项卡,使用鼠标指针工具(一般为箭头图标),将鼠标悬停在所需定位的元素上。该元素将在页面上高亮显示,并在Elements选项卡的对应位置选。 3. 在Elements选项卡,可以查看元素的标签名、类名、ID、属性等信息,以便在本地代码进行定位。 4. 在Elements选项卡,可以通过右键点击选的元素,并选择Copy(复制)选项,复制该元素的相关信息,例如选择器、XPath等。然后将复制的信息粘贴到本地代码的对应位置,以定位该元素。 5. 如果要通过JavaScript代码在本地端定位元素,可以使用document对象的一些方法和属性。例如,可以使用document.querySelector()方法通过CSS选择器定位元素,或者使用document.getElementById()方法通过元素ID定位元素。 总之,浏览器开发者工具提供了丰富的功能和选项,可以帮助我们在浏览器修改元素后,在本地代码准确定位这些修改后的元素。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值