鱼C论坛

 找回密码
 立即注册
查看: 4445|回复: 14

[已解决]判断网页某段代码里的颜色,并执行相应代码里的onclick应该怎么实现

[复制链接]
发表于 2023-5-10 23:44:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. <con>选择要分解的装备:<br><a href="#" onclick="p.cmd('helptools 73421346');return false;"><img src="/img/arm/db/278.gif" border="0" style="margin-right:5px;"><b><font color="008800">[召唤白龙披风]</font></b></a> <a href="#" onclick="p.cmd('foo fenjie 73421346');return false;">[分解]</a><br>         </con>
复制代码


例如上面的代码,font color ="008800" 判断等于008800后,执行对应下面的onclick,p.cmd('foo fenjie 73421346');return false;
用python selenium应该怎么实现,求大佬指导
最佳答案
2023-5-11 00:37:31
halemorning 发表于 2023-5-11 00:32
attack_element = element.find_element(By.XPATH,"./following-sibling::a[@title='攻击']")  这一行运 ...

是的,你的观察是正确的。在XPath中, following-sibling:: 轴用于选择当前元素的同级元素。如果"冰河骑士"和"攻击"按钮不是同级元素,这个XPath表达式就无法找到"攻击"按钮。

如果"冰河骑士"和"攻击"按钮不是同级元素,你可能需要修改XPath表达式来定位"攻击"按钮。这需要根据实际的HTML结构来进行。

例如,如果"攻击"按钮是"冰河骑士"元素的父元素的下一个子元素,你可以使用以下的XPath表达式:

  1. attack_element = element.find_element(By.XPATH, "../following-sibling::a[@title='攻击']")
复制代码


这个表达式中的 .. 表示父元素,所以 ../following-sibling::a[@title='攻击'] 表示"冰河骑士"元素的父元素的同级元素中的"攻击"按钮。

如果你可以提供更多的HTML结构信息,我可以帮你更准确地定位"攻击"按钮。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-5-10 23:49:26 | 显示全部楼层
isdkz 发表于 2023-5-10 23:45
可以通过使用Selenium中的find_element_by_xpath方法来获取该元素,然后使用get_attribute方法获取颜色属性 ...

首先,大哥辛苦了,这么晚还在,我以为您得明天才能回复
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-10 23:51:31 | 显示全部楼层
isdkz 发表于 2023-5-10 23:45
可以通过使用Selenium中的find_element_by_xpath方法来获取该元素,然后使用get_attribute方法获取颜色属性 ...
  1. <dt id="npc_0"><a href="#" onclick="p.showPetInfo(0,'冰河骑士',[0,0,0,true]);return false;" oncontextmenu="return this.onclick();" hidefocus="1" title="查看"><font color="#004080"><b>[70]</b> 冰河骑士</font>&nbsp;</a><a href="#" onclick="clsHCT();cmd('3 0 '+(Math.pow(ffed34,0.35)+4));return false;" title="攻击"><img src="img/button/a.gif"></a></dt>
复制代码

其实是这样一串代码,判断如果是 冰河骑士 这个名字的怪,就进行攻击,攻击的话 需要 执行【onclick="clsHCT();cmd('3 0 '+(Math.pow(ffed34,0.35)+4));return false;"】这个里面的js代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-10 23:56:26 | 显示全部楼层
歌者文明清理员 发表于 2023-5-10 23:55
他的代码会报错,新版selenium是

是,我现在用的是新版的selenium
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-10 23:58:43 | 显示全部楼层
isdkz 发表于 2023-5-10 23:56
首先,你需要定位到含有"冰河骑士"的元素,然后找到它的同级元素中包含攻击onclick事件的元素。这里我假 ...

这次明白了,我就是想学习xpath 和 css selector更详细的东西,但是查不到,您这样举例给我看,我就理解多了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-11 00:32:24 | 显示全部楼层
isdkz 发表于 2023-5-10 23:56
首先,你需要定位到含有"冰河骑士"的元素,然后找到它的同级元素中包含攻击onclick事件的元素。这里我假 ...

attack_element = element.find_element(By.XPATH,"./following-sibling::a[@title='攻击']")  这一行运行错误,是不是因为不是同级元素的原因,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-11 00:47:22 | 显示全部楼层
isdkz 发表于 2023-5-11 00:37
是的,你的观察是正确的。在XPath中, following-sibling:: 轴用于选择当前元素的同级元素。如果"冰河骑 ...

//font[contains(text(), '冰河骑士')]这里面怎么写出 让他并且同时不包含某字符串的写法呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-5-11 17:52:06 | 显示全部楼层
歌者文明清理员 发表于 2023-5-11 16:50
他用的是GPT4(需要 Money),可是gpt收集了GitHub上的代码,并且还有旧版selenium的代码

我也想用 哈哈,可是我现在不能科学上网了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-16 03:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表