- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道如果其中一个属性已知但路径未知,是否有可能对 WebElement 的 XPath 进行逆向工程。例如,假设某个 WebElement 的 XPath 是 (@id,'vi_main_img_fs_thImg')]/img 但这是未知的。但是我知道这个 WebElement 将返回 http://myimage.com/72hjf89 (即唯一值)在调用 WebElement.getAttribute("src") 时 - 是否可以使用该信息对原始 XPath 值进行“逆向工程”?也许使用正则表达式之类的?
注意:.getAttribute("src") 只是一个例子,我想无论使用什么属性,只要这个值在页面上出现一次,无论使用什么方法,任何方法都可以工作。
有什么想法吗?
更新:
为了更详细地说明我正在尝试实现的目标,我在下面复制了 HTML 代码。
我正在查看的页面是:http://www.ebay.com/itm/111488868372
页面上的 HTML 是:
<document>
<html lang="en" xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml" webdriver="true">
<head>
<body class=" vi-contv2 lhdr-ie- vi-hd-ops " style="background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAKCAYAAAB10jRKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADBJREFUeNpEyqERADAIBMGbbwSH+qhA/6URXMyqBUhFBLIP6ip0ezk2zExqC58nwACVZwX67tO41gAAAABJRU5ErkJggg=="), url("http://ir.ebaystatic.com/pictures/aw/pics/cmp/ds3/imgbg.jpg"); background-repeat: repeat-x, repeat; background-position: 0px 30px, 0px 0px;">
<div id="gh-gb" tabindex="-1"/>
<!-- Default filmstrip js used with main image -->
<!-- adding filmstrip js used in main pic and with images carousel -->
<div id="Head"/>
<div id="Body" class=" sz940 " itemtype="http://schema.org/Product" itemscope="itemscope">
<div id="TopPanelDF">
<div id="CenterPanelDF">
<div id="CenterPanel" class=" ebaylocale_en_US ebay_longlngsite ">
<style> /* PicturePanel */ #PicturePanel div.img { border:1px solid #ccc; background-color:white; } /* BuyBox */ .actPanel { border-top:1px solid #ccc; border-left:1px solid #ccc; border-right:1px solid #ccc; } .watchListCmp { border-bottom:1px solid #ccc; border-left:1px solid #ccc; border-right:1px solid #ccc; } </style>
<h3 class="vi-inheritstyl">
<div id="vi_sme_prmts_bnr_cntr1" class="vi-sme-ss-v1">
<!-- Placement 100005 -->
<!-- Placement 100011 && 100012 -->
<div id="CenterPanelInternal" class="">
<div id="PicturePanel" class="pp-c">
<h3 class="g-hdn">Picture Information</h3>
<div class="pp-ic pp-ic300">
<div class="l-shad lftd img img300">
<table class="img img300">
<tbody>
<tr>
<td class="img img300">
<div id="test">
<script type="text/javascript">var sPT = new Date().getTime(),picTimer,picTimer1,picTimer2;</script>
<a id="linkMainImg" style="display: block; cursor: default; text-decoration: none;" href="javascript:;">
<div id="mainImgHldr" class="" title="Journeys-Edge-Deluxe-Manicure-Set-with-Deluxe-Carrying-Case" style="width: 300px; background-image: none; cursor: pointer;">
<!-- <span id="mainImgHldr" style="display: inline-block;"> -->
<img id="icThrImg" class="img img300 vi-hide-mImgThr" alt="Image is loading" imgsel="0" src="http://ir.ebaystatic.com/pictures/aw/pics/globalAssets/imgLoading_30x30.gif" style="display:none;"/>
<img id="icImg" class="img img300" alt="Journeys-Edge-Deluxe-Manicure-Set-with-Deluxe-Carrying-Case" clk="0" onload="picTimer=new Date().getTime();" style="" src="http://i.ebayimg.com/images/g/eHAAAOSwLzdWS4C8/s-l300.jpg" itemprop="image" mskuskip="false"/>
<!-- </span> -->
</div>
</a>
“src”值为:http://i.ebayimg.com/images/g/eHAAAOSwLzdWS4C8/s-l300.jpg (这是唯一已知的值)
我试图用这种方法获得的值(ID)是:
.//*[@id='PicturePanel']/div[1]/div[1]/table/tbody/tr/td/a/div/img[2](这是元素的 XPath)
最佳答案
您可以只使用不同的 XPATH。
id(通常)是唯一的,因此使用 id 属性查找元素更有意义。
更新:您可以使用如下所示的 XPATH 检索 ID:
//img[@src = "http://i.ebayimg.com/images/g/eHAAAOSwLzdWS4C8/s-l300.jpg"]/string(@id)
如果结果有多个元素,您将得到一个序列。
关于java - 逆向工程 WebElement 的 XPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34195017/
我有 *.ipa 文件,它是 iphone 应用程序。 是否可以在该 ipa 中使用逆向工程并提取代码..? 最佳答案 嗯,这不是真正的黑客攻击,但它确实可以帮助您识别 UI 的某些部分...请执行以
我一直在尝试对游戏的功能进行逆向工程,但我有点困惑。我对逆向工程还很陌生(顺便说一句,我正在使用 ollydbg),所以我还不太了解所有的技巧和细节。 无论如何这是我的问题。当您在游戏中拾取任何元素时
我被要求抓取一个 Flash 网站,该网站似乎正在通过 AMF 协议(protocol)使用某种服务器端调用。我完全不熟悉这个协议(protocol),但找到了这个库(http://www.pyamf
我的问题是我正在使用一个巨大的网络应用程序(学校系统),没有内部逻辑的文档。我需要对特定值进行批量更新,但我不知道MySQL数据库中的哪些表包含要更新的相关数据。该应用程序是从 php 自行运行的。有
我正在学习如何逆向一个程序,我想知道..如果我用调试信息编译: gcc -g .... 这对逆向过程有什么帮助吗?如果我这样做,我会提供额外的信息吗?我找不到有关该主题的任何信息。 最佳答案 它通过将
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 5 年前。
今天我决定使用 IDA Pro 反编译一个用 Visual C++ 编写的简单“Hello world”程序。 根据我以前的知识,我确定我不会在可执行文件入口点找到对 printf 的立即调用,我是对
我正在使用 PowerDesigner 为我的 SQL Server 数据库建模。我使用逆向工程选项来导入我的数据库。我的问题是表中的默认数据未导入。 有人知道如何导入表格中的数据吗? 最佳答案 我们
我一直在分析一些 230V 通信并试图找出协议(protocol)的校验和算法。从我了解到的通信结构如下: 第一个 block 总是相同的,必须是某种开始结构(910hex) 然后嵌套5个 block
在 AmigaOS 中的 Devs:Monitors 中找到的文件,它们包含什么? 它们的内部格式是什么?您如何修补一个或从头开始创建一个? 最佳答案 Amiga 程序 MonEd ( http://
我正在使用 VS2013 更新 3 的“逆向工程”模型优先功能从现有数据库开发 EF 模型。不幸的是,我无法完全控制数据库架构,它使用表和列前缀(例如 tblPerson , cFirstName,
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在尝试对 APK 文件进行逆向工程。 我尝试了 apk2jar 来获取类和资源文件。但我无法解压缩 Assets 。 有人可以帮忙吗? 最佳答案 使用 apktool。它将对所有布局、值、 Ass
我正在尝试解码由 Android instagram 应用程序发送到 graph.instagram.com 的帖子数据。该问题与此处发现的问题类似: Reverse Engineer HTTP re
我想查明用 C/C++ 编写的应用程序究竟在哪里失败。我无法直接调试应用程序,既不使用 gdb/lldb 也不使用 IDE,因为应用程序是由程序启动的(它是 webots 机器人模拟软件的机器人 Co
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是
我有一个最初用 VS2005 编写的小实用程序。 我需要做一点小改动,但是其中一个 dll 的源代码在某处丢失了。 是否有免费或价格合理的工具将 dll 反向工程回 C++ 代码。 最佳答案 Hex-
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我想知道是否有人知道如何对 Access 数据库进行逆向工程。我希望能够生成用于创建数据库表并将所有记录插入表中的 SQL 代码。换句话说,我想创建类似于 MySQL 转储文件的内容。 任何想法都会很
String.GetHashCode 的行为取决于程序架构。所以它将在 x86 中返回一个值,在 x64 中返回一个值。我有一个必须在 x86 上运行的测试应用程序,它必须预测必须在 x64 上运行的
我是一名优秀的程序员,十分优秀!