在运行脚本的页面上查找 xpath

2024-01-01

我正在尝试使用硒抓取网页。通过检查页面并右键单击建议的 xpath 属于不稳定类型 (/html/body/table[2]/tbody/tr[1]/td/form/table/tbody/tr[2]) 。所以我尝试了以下解决方案:

driver = webdriver.Chrome("path")
driver.get("https://www.bundesfinanzhof.de/entscheidungen/entscheidungen-online")
time.sleep(1)
links=driver.find_element_by_xpath('//tr[@class="SuchForm"]')

or even

links=driver.find_elements_by_xpath('//*[@class="SuchForm"]')

不返回任何结果。然而在页面的前面我可以获得:

links=driver.find_element_by_xpath('//iframe')
links.get_attribute('src')

似乎之后:

<script language="JavaScript" src="/rechtsprechung/jscript/list.js" type="text/javascript"></script>

我无法再触及任何元素。如何确定正确的 XPath? https://stackoverflow.com/questions/31325232/how-do-i-determine-the-correct-xpath表明脚本中的某些部分无法解析。然而,我所追寻的道路在我看来并不在一条道路之内。我是否误解了脚本在页面上的工作方式?

例如,稍后有一条路径:

/html/body/table[2]/tbody/tr[1]/td/script

我预计这会造成这样的问题。我绝不是程序员,所以我对这个主题的理解是有限的。有人可以解释一下问题是什么以及如果可能的话解决方案吗?

尝试使用以下解决方案:

在 selenium-python 中使用 xpath 查找元素文本不起作用 https://stackoverflow.com/questions/41850994/find-element-text-using-xpath-in-selenium-python-not-working

xpath 不适用于该网站,请验证 https://stackoverflow.com/questions/25122873/xpath-does-not-work-with-this-site-pls-verify


The table位于一个iframe,所以你需要切换到那个iframe在需要处理之前tr:

from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

driver.get("https://www.bundesfinanzhof.de/entscheidungen/entscheidungen-online")
wait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"//iframe[@src='https://juris.bundesfinanzhof.de/cgi-bin/rechtsprechung/list.py?Gericht=bfh&Art=en']")))
link = driver.find_element_by_xpath('//tr[@class="SuchForm"]')

Use driver.switch_to.default_content()切换回来iframe

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在运行脚本的页面上查找 xpath 的相关文章

随机推荐

  • 如何在 Docker Alpine 中设置语言环境?

    我可以使用 CentOS 映像设置区域设置 FROM centos ENV LANG en US UTF 8 ENV LC ALL en US UTF 8 但它似乎不适用于 Alpine 图像 如何使用 Alpine 图像设置区域设置 它对
  • 在 ASP.NET MVC 中显示另一个控制器的视图

    是否可以显示另一个控制器的视图 比如说我有一个CategoriesController and a Category NotFound aspx看法 当在CategoriesController 我可以轻松返回View NotFound 现
  • 在 WooCommerce 中显示每个购物车商品的重量

    我正在使用 Woocommerce 并尝试在购物车页面上显示每个产品的产品重量 我用过这个 add action woocommerce cart collaterals myprefix cart extra info function
  • 通过重写URL访问Couchdb数据库URL,带有查询参数

    我的网站用完了 Couch DB 实例 因此我将我的虚拟主机配置为指向 dbname design app rewrite 我希望能够从 Web 浏览器访问索引页面 同时仍然通过 Ajax 访问 Couch DB API 因此我在我的文件中
  • 单击 UISegmentedControl 的一段后显示多行文本,但最初不是 - 更新代码

    我需要在每个段中设置多行文本UISegmentedControl 我尝试了下面的代码 它工作正常 但问题是 当第一次加载页面时 第一次显示分段控件时 它不显示多行文本 但是当我单击其中一段 文本以多行显示 如何解决这个问题 这是代码 voi
  • 实例方法中的静态变量

    假设我有这个程序 class Foo public unsigned int bar static unsigned int counter 0 return counter int main Foo a Foo b 当然这个例子没有任何意
  • python中access数据库表的读写

    我有一个访问数据库 里面是我创建的几张桌子 我想使用 python 读取其中一个表并列出一列中的所有内容 我想将该列表与程序中已创建的另一个列表进行比较 如果该数字与列表中的数字匹配 则在我制作的访问电子表格的同一行新列中输出 是 同样 如
  • MySQL 查询 - 每组最近的条目

    我正在尝试选择表中每组的最新条目 假设我有一个表 blog posts 其中有一列 id 全部唯一 自动递增 post cat 可以是值 category1 或 category2 或 category3 以及一个 publish stat
  • 如何提高 ASP.NET MVC 中从 SQL Server 数据库获取数据的速度 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是 ASP NET MVC5 的新手 我有一个模型Shipping and my dbo Shippings sql是这样的 CRE
  • 检查函数是否被调用为装饰器

    在下面的最小示例中decorate被调用两次 第一次使用 decorate 第二个通过正常函数调用decorate bar def decorate func print func name return func decorate def
  • 在 NetworkX 中合并两个加权图

    我使用 python 多重处理来创建多个不同的 NetworkX 图 然后使用下面的函数来组合这些图 然而 虽然这个函数对于小图工作得很好 但对于较大的图 它会使用大量内存 并且会挂在我的系统和内存密集型 AWS 系统上 仅使用系统中总内存
  • 交换两列 - awk、sed、python、perl

    我有一个大文件中的数据 280 列宽 700 万行长 我需要交换前两列 我想我可以使用某种 awk for 循环来执行此操作 打印 2 1 然后打印到文件末尾的范围 但我不知道如何执行范围部分 而且我无法打印 2 1 美元 3 美元 280
  • 在 API 加载之前在 Cordova 中显示 webView

    我正在使用 PhoneGap Cordova 构建适用于 iOS 和 Android 的应用程序 按照标准行为 在 JavaScript 初始化并且 Cordova API 准备就绪之前 不会显示 webView 所以直到我打电话 docu
  • jquery 添加类到这个被点击的元素

    我生成几行 tr 与任务 现在 可以通过单击某个任务将每个任务标记为完成span 我通过 ajax 请求来做到这一点 这是 HTML table tr td 1 td td span class icon complete a to hea
  • foreach 循环和 stdclass 对象

    我在这里看到了类似的问题 但我似乎无法将解决方案应用于我的问题 我有一个名为 results 的变量 它是从 API 获得的 我将更改专有名词以保护我工作的客户 stdClass Object out gt stdClass Object
  • Laravel 混合编译依赖

    我正在尝试使用vuex 模块装饰器 https github com championswimmer vuex module decoratorsLaravel Mix 项目中的库 使用 TypeScript 但我不断收到错误Uncaugh
  • 比较两个 OpenCV 图像/2D Numpy 数组

    我刚开始使用 OpenCV Python 和 Numpy 但已经成为 Java C C 程序员有一段时间了 我正在实现一个 sigma delta 背景检测器 它执行以下操作 设 i1 为第一张图像 设 i2 为第二张图像 for each
  • 将字节数组插入 List 的最简洁方法?

    在某些代码中 我正在创建一个字节列表 并希望在构建它时将一个字节数组插入到该列表中 这样做最干净的方法是什么 请参阅下面的代码 谢谢 public class ListInsert public static byte getData re
  • 安装 MvcScaffolding 包时 NuGet 执行策略错误

    我在项目中使用 Visual Web Developer Express 2010 Windows XP 和 ASP NET MVC4 RC 我安装了 NuGet v2 0 30619 9119 我现在尝试通过 NuGet 包管理器控制台安
  • 在运行脚本的页面上查找 xpath

    我正在尝试使用硒抓取网页 通过检查页面并右键单击建议的 xpath 属于不稳定类型 html body table 2 tbody tr 1 td form table tbody tr 2 所以我尝试了以下解决方案 driver webd