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

选择仅带有硒蟒蛇标题标签的 Web 元素

谭京
2023-03-14

我有一个html代码,里面有一个SVG元素。SVG内部有许多g元素,每个主题都有一些文本和矩形元素以及一个标题标记。我想用指定的标题字符串从其他元素中选择一个元素

我尝试了一些基于find_elements_by_css_selector的方法,并选择所有矩形元素并返回父元素并检查标题(.text)是否等于指定的文本。但是,这种方法失败了。

我选择的另一种方法是查找基于g类项的所有元素,然后返回父级,然后检查它们的标题。但是,当我尝试这种方法时,我遇到了这个错误“陈旧元素引用异常('陈旧元素引用:元素未附加到页面文档\n\\”) 。

我的html文件的简单版本是这样的:

<g class="class1">
    <title>some specified title</title>
    <rect x="809.875" y="9" width="461.5416666666667" height="4" class="element-body"></rect>
    <rect x="809.875" y="9" width="461.5416666666667" height="4" style="fill:#000080"></rect>
    <text x="814.875" y="8" class="svg-element-number" style="font-size:11px">080</text>
    <text x="792.875" y="8" class="svg-X" style="font-size:11px">xx1</text>
    <text x="1266.4166666666667" y="8" class="svg-X" style="font-size:11px">xx2</text>
    <image href="img/reg-changed.png" x="1256.4166666666667" y="10" height="13" width="15"></image>
</g>

共有3个答案

韦高谊
2023-03-14

标记名有一种方法,<br>如果只需要<br>,可以使用它,

driver.find_elements_by_tag_name('title')
仇正平
2023-03-14

您可以尝试使用xpath

 //*[name()='svg']/*[name()='g']/*[name()='title' and text()='some specified title']

如果您希望在通过文本找到标题后访问 g 标记,请使用 xpath 轴,如 /parent::*

更多信息在这里: https://www.w3schools.com/xml/xpath_axes.asp

范麒
2023-03-14

尝试在下面的行中选择所需的元素:

driver.find_element_by_xpath('//*[name()="g" and *[name()="title" and .="some specified title"]]')
 类似资料:
  • 我正在尝试点击图中所示的下拉菜单 这就是我尝试过的 但它给了我这个错误 NoSuchElementException: Message:找不到element://div[@ class = ' choosed-container choosed-container-single ']//a[@ class = ' choosed-single choosed-single-with-deselec

  • 我正在尝试使用本教程从一个使用selenium and beautiful soup的站点提取房地产列表信息:https://medium.com/@ben.sturm/scraping-house-listing-data-using-Selenium-and-Beautiful Soup-1CBB94BA9492 目的是在找到“下一页”按钮之前收集第一页的所有href链接,导航到下一页并收集该

  • 最近,我用硒在网站上抓取了一些信息。我想做的只是点击“上个月的按钮”。 所以我写这样的代码 但它不起作用,我改变了很多次,像这样改变代码 这些都不管用。当我尝试使用三个试用版中的第一个时(即:web driver . find _ element _ by _ CSS _ selector(' a . ui-icon ui-icon-circle-triangle-w ')。单击()),弹出的错误

  • 我正在使用sublime来编写python脚本,下面的代码是为python中的硒使用webdriver_manager包自动安装驱动程序 代码运行良好,但我得到了类似的警告 如何修复这样的错误?

  • 我试图选择和控制www.ziprecruiter.com网站上的下拉菜单使用硒称为半径。因为我是初学者,我似乎不明白为什么我不能控制这个下拉半径菜单。我尝试使用查找ID,名称,Xpath和选择,但似乎没有工作。我想在半径下拉菜单中选择选项“25英里”,有什么想法吗?

  • 我需要在我的中添加一个新的目录位置,但问题是我使用的是一个全新安装的系统(Linux),其中尚未定义任何。我读过并使用过,我认为我很了解它,但我不知道当没有存在时会发生什么。 我不能附加到不存在的东西上,但我希望当前发现的所有重要库都能正常工作,因此要小心,我在Python中使用了来获取所有标准值。然后我为定义了一个-变量,包括我刚刚找到的所有节点,以及我的新目录。但是哇,很多东西都停止工作了!P