python - 硒python的get_attribute问题
问题描述
我已经起诉 Selenium-Python 大约 2 个月了。我想获得“rel”属性值。其他所有值都在工作,但“rel”值不返回任何值,即
<span class="isOdd" data-ratio="-1" data-outcome="1.85" data-percentage="23" data-market-id="1677954" data-outcomeno="1" data-id="undefined" rel="[{'fixedoddsweb':'1.62','ratiostatus':0},{'fixedoddsweb':'1.90','ratiostatus':-1},{'fixedoddsweb':'1.85','ratiostatus':-1}]" style="" xpath="1">1.85
如果我尝试喜欢;
link = browser.find_element_by_xpath("//*[@id='eventContentContainer']/div[2]/div[1]/span[4]/ul/li[1]/span")
print(str(link.get_attribute("class")))
它返回,isOdd和它的正确 。或者,如果我尝试获取 data-id,它会返回undefined,这又是正确的值。现在,
如果我尝试使用 rel 属性,它会返回“无”
我在互联网上搜索,他们总是一遍又一遍地谈论 get_attribute 值。我不擅长 HTML。rel属性有什么特别之处吗?
编辑1:我还将execute.script()用于另一个元素,输出如下;
{'class': 'isOdd', 'data-id': 'undefined', 'data-market-id': '1679546', 'data-outcome': '3.10', 'data-outcomeno': '1', 'data-percentage': '3', 'data-ratio': '-1'}
除“rel”外,每个属性都已打印
编辑 2:我发现了真正的问题,如果您在元素上等待大约 1-2 秒,那么元素上会弹出一些标签,然后它具有rel属性。你知道如何在元素上等待大约 1 秒然后点击吗?我猜是关于动态元素
解决方案
我找到了我的解决方案。一开始有'rel'属性。如果将鼠标悬停在元素上,则它具有“rel”属性。感谢@0buz 的耐心。但我找到了解决方案。
link = browser.find_element_by_xpath("//*[@id='eventContentContainer']/div[2]/div[1]/span[4]/ul/li[1]/span")
hov = ActionChains(browser).move_to_element(link)
hov.perform()
time.sleep(3)
print(link.get_attribute("rel"))
这就是我所有的基本错误很快:)
推荐阅读
- r - 如何添加对最后一个“n”值进行排序的列?
- python - UnicodeEncodeError:“charmap”编解码器即使在格式化记录器以使用 utf-8 编码后也无法编码字符
- cordova-plugins - 在 InappBrowser 中打开一个 url,目标为 _blank 不适用于最新的 iphone
- string - 优化包含 N 个项目的堆栈以满足尽可能多的字符串排列
- java - Java中的字符和字符串输入
- sql - 通过不使用 SQL UPDATE 触及记录来更新数据库记录 rowversion?
- c - Basic C shell 中的管道退出 shell
- excel - 在 PowerShell 中使用 Export-Excel 对数据透视表进行排序
- java - 当请求正文不可用时,Spring Boot 功能端点不处理错误
- java - 如何以惯用方式检查和处理自定义 JWT 声明?