发布于2019-08-21 17:37 阅读(817) 评论(0) 点赞(1) 收藏(0)
我正在尝试使用Selenium测试复杂的javascript界面(使用Python界面,以及跨多个浏览器)。我有许多形式的按钮:
<div>My Button</div>
我希望能够根据“我的按钮”搜索按钮(或者不区分大小写的部分匹配,例如“我的按钮”或“按钮”)
我发现这非常困难,在某种程度上,我觉得我错过了一些明显的东西。我到目前为止最好的事情是:
driver.find_elements_by_xpath('//div[contains(text(), "' + text + '")]')
但是,这是区分大小写的。我尝试过的另一件事是遍历页面上的所有div,并检查element.text属性。但是,每次你得到表格的情况:
<div class="outer"><div class="inner">My Button</div></div>
div.outer还有“My Button”作为文本。为了解决这个问题,我试图查看div.outer是否是div.inner的父节点,但是无法弄清楚如何做到这一点(element.get_element_by_xpath('..')返回一个元素的父节点,但它测试不等于div.outer)。此外,迭代浏览页面上的所有元素似乎非常慢,至少使用Chrome webdriver。
想法?
编辑:这个问题有点模糊。在这里询问(并回答)一个更具体的版本:如何在不包含子元素文本的情况下获取Selenium WebDriver中的元素文本(通过Python api)?
请尝试以下方法:
driver.find_elements_by_xpath("//*[contains(text(), 'My Button')]")
作者:黑洞官方问答小能手
链接:https://www.pythonheidong.com/blog/article/50842/ffe72176a0b571e4ad01/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!