当前位置: 首页 > 知识库问答 >
问题:

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

怀德馨
2023-03-14

我想用selenium来刮一个网页。检查页面并右键单击所建议的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"]')

甚至

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?建议脚本中的部分不可能解析。然而,我所追求的道路在我看来并不在一条道路之内。我是否误解了脚本在页面上的工作方式?

例如,稍后有一条路径:

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

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

尝试使用以下解决方案:

在selenium-python NOt Work中使用xpath查找元素文本

xpath不适用于此网站,请验证

共有1个答案

吕昀
2023-03-14

位于iframe内部,因此在处理所需tr之前,您需要切换到该iframe

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"]')

使用驱动程序。切换到。默认内容()iframe

 类似资料:
  • 问题内容: 我完全不熟悉Greasemonkey,JavaScript,实际上是所有UI东西。 要求:页面加载后,用户脚本由GS运行一次。但是,我需要多次运行同一脚本而不刷新 用例:例如,Amazon.com搜索使用Ajax进行。我需要在搜索结果中嵌入自定义元素。 每次在同一页面上进行搜索时,我都需要将内容和结果一起注入到search-results-div中(没有页面刷新) 我当前的脚本仅在页面

  • 问题内容: 如何使用Selenium检查当前页面上是否存在给定的文本字符串? 问题答案: 代码是这样的:

  • 安装命令行版本对我来说不是一个理想的选择,因为我没有Java SDK(我希望有一种方法可以绕过它)。我也没有聪明的想法。

  • 我有一个daml文件,只有一个脚本 有没有办法在我运行的任何时候执行脚本?

  • 我正在寻找一个优雅的解决方案,来查找我存储在python字典/列表中的某个单词出现在文档的哪个页面。 我首先考虑的是。docx格式作为输入,并查看了PythonDocx,它有一个搜索功能,但在docx/xml格式中显然没有真正的页面属性。如果我分析文档,我可以查找

  • 问题内容: 我是python的新手。只知道什么是python。我创建了以下代码(在python IDLE中): 然后,我将此页面保存在本地主机中为index.py 我使用http://localhost/index.py运行脚本 但是它没有显示执行的python脚本。而是将上面的代码显示为HTML。问题出在哪儿?请有人告诉我如何在网页中运行python吗? 问题答案: 为了显示您的代码,您需要执行