python - Xpath Selenium-如何通过子文本定位元素

标签 python selenium selenium-webdriver xpath webdriver

希望你真的很好并且可以帮助我解决这个简短的问题。 我试图找到以下对象 id=C39_W133_V136_thtmlb_button_27 但使用位于跨度之后的文本 (text = "Edit")。请问我尝试了不同的方法,但到目前为止还没有成功,有什么想法吗?

<a href="javascript:void(0)" class="th-bt th-bt-icontext-dis icon-font" tabindex="-1" oncontextmenu="return false;" ondragstart="return false;" id="C39_W133_V136_thtmlb_button_27">
  ::before  
  <img class="th-bt-img" src="/SAP/BC/BSP/SAP/thtmlb_styles/sap_skins/belize/images/1x1.png">  
  <span class="th-bt-span"><b class="th-bt-b">Edit</b></span>  
  <b class="th-bt-b">Edit</b>
</a>

最佳答案

为了使用元素中包含的文本来定位元素,唯一的选择是使用 XPath。

//a[./b[.='Edit']]
^ Start at the top of the document and find an A tag
   ^ ...that has a descendant B tag
        ^ ...that contains the text 'Edit'

关于python - Xpath Selenium-如何通过子文本定位元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63819414/

相关文章:

python - Google Places API 返回不正确\不完整的地点

android - 构建android源代码树时出现错误python2.7或chromium

javascript - 如何使用 selenium 获取所有元素的直接子元素和 css 选择器?

Python Selenium + Datepicker 问题

java - 尝试在 eclipse maven 项目中配置 Cucumber 时,运行程序类中出现错误

c# - 除了 headless Chrome 之外,还有其他方法可以使用扩展吗?

ruby - 以编程方式使用 selenium 与 ace 编辑器交互

python - float 和 decimal.Decimal 的小数位问题

node.js - Appium 等待元素可点击

python - Scrapy 将 csv 文件中的额外数据传递给解析