当前位置: 首页 > 知识库问答 >
问题:

传入变量以使用xpath查找元素

逄嘉熙
2023-03-14

我开发这个程序是为了用selenium在python中执行一些自动化任务。系统将提示用户输入其项目名称。然后程序将打开网站并选择与用户输入的名称相同的项目。我将使用xpath选择元素。但是,如果站点上有许多项目,它们都具有相同的类。所以我想我可以使用xpath来选择类,但要传入文本(user\u sprroject\u name\u here)。这里是我拥有的xpath和我尝试选择的html。

超文本标记语言元素(将href留空,因为如果我使用它,它将无法计算出我想要的程序):

<a href = "" class = "js-filter-text">
                            Test_1
<a href = "" class = "js-filter-text">
                            Test_2
</a>

例如,我想查找的文本是“Test\u 1”,但用户可以输入该文本,它可以根据文本选择正确的元素。

这是我为xpath准备的。我不知道如何为//text()传入变量

element3 = driver.find_elements_by_xpath('//a[@class= "js-filter-text"]//text()' ).click()

共有2个答案

凤衡
2023-03-14

试试这个

driver.find_element_by_xpath("//a[@class= "js-filter-text"]//text(),' " + variablename + " '')
宋嘉禧
2023-03-14

如果我正确理解了你的问题,我认为以下方法应该有效:

element3 = driver.find_elements_by_xpath('//a[@class="js-filter-text" and contains(text(), "{}")]'.format(input_variable)).click()
 类似资料:
  • 我一直在为这个selenium项目苦苦挣扎,一直在寻找与这个问题略有关联的老参考资料或帖子。我承认我不熟悉xpath和selenium,所以希望它可以像修复语法一样简单。我正在使用python 3.6。卢本图19.10上的9,如果这有什么区别的话。 我试图访问的html元素: 我尝试过的代码: 尝试不同的XPath时出现的错误消息: 我检查了火狐来尝试捕获xpath,显示为: 虽然我还不确定如何调

  • 问题内容: 我在JAVA项目中将XPATH 1.0解析器与CLiXML一起使用,我试图设置CLiXML约束规则文件。 如果特定子项下的元素名称重复,我想显示一个错误。 例如 childA出现不止一次,因此我将显示一个错误。 注意:我只想“检查/计数”元素名称,而不是元素内部的属性或元素的子元素。 我尝试过的.clx规则文件中的代码是: 但这不起作用,我得到了错误: 因为我希望代码检查每个子名称,并

  • 我正在使用Selenium来自动化一些测试。我对硒有点陌生。因此,我试图验证一个表单。有些字段带有星号,表示必填字段。我目前正在遍历所有可见字段,然后检查前面的元素是否有标签。我还需要检查标签是否有星级。我不太擅长这个xpath的东西,所以任何帮助都将不胜感激。 还有我的HTML结构,其中一些结构有星形类,而另一些没有:

  • 请帮助我,我正在尝试选择一个图片,这是一个链接(一个网站上的培训师) 这是我的代码:

  • 非常感谢您的帮助。 我想知道firebug复制xpath是否总是适用于webdriver。 我有一个带有列表的页面,我可以获得完整的xpath来查找前两个元素,但无法对3、4执行相同的操作。 对于第三个,它不起作用: 错误: org.openqa.selenium.NoSuchElementException:无法定位元素:{"method":"xpath","selector":"/html/b