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

在xpath中使用动态ID-Python(Selenium)

司马萧迟
2023-03-14

我有一个ID列表,希望在XPath中动态传递这些ID。下面是我正在使用的代码:

hd_DescText=''
for HD_IdValue in CT_3_row_IDs:
    path=".//tr[@id='" + HD_IdValue + "']/td[2]/table/tbody/tr/td[3]/div/font"
    path=str(path)
    print(path)
    hd_DescText=browser.find_element_by_xpath(path).get_attribute("innerHTML")
    print(hd_DescText)
    #contains(@id,'"+ HD_IdValue + "')

尽管print(path)在执行此代码时给出了确切的路径。我得到以下错误:

NoSuchElementException:消息:没有这样的元素:无法定位元素:{“方法”:“xpath”,“选择器”:“//tr[contains(@id,'tr_m_1570_1025516')]/td[2]/table/tbody/tr/td[3]/div/font”}

共有1个答案

郑高驰
2023-03-14

嘿,我能够拉动所需的数据,使用下面的代码行后:

path="//*[@id=" + "'"+ HD_IdValue + "'"+ "]/tbody/tr/td[3]/div/font"
hd_DescText=browser.find_element_by_xpath(path).get_attribute("innerHTML")

这里HD_IdValue具有id的动态值。

 类似资料:
  • 问题内容: Selenium RC中是否有办法从xpath获取ID? 如果我有xpath 我想获取与xpath相关的所有节点的ID 问题答案: 您可以通过运行javascript使用以下命令获得该代码: 当然,这取决于源语言,但这将是这样的(在perl中,未经测试): 我一直认为应该有一个更直接的方法来执行此操作,但是我还没有找到它! *根据注释进行 *编辑 ,for循环计数应从1开始并包含,而且

  • 我在Firefox中使用Firebug为没有分配ID的链接获取xpath。该链接是一个带有图像作为实际按钮的javascript链接。我希望能够单击此链接,但它不起作用。 实际的xpath是'/html/body/div[2]/div/div/div[3]/div/div/table/tbody/tr[1]/td[2]/form/table/tbody/tr[1]/td/div[1]/div/ta

  • 以下是我试图自动处理数据的网站:网站链接。我必须做到以下几点: 选择位置为维多利亚,然后选择区域为墨尔本。 选择制作为,比方说,阿巴斯。将重复其他制作。 我尝试过静态XPath,也尝试过用有限的知识创建动态XPath,但我仍然无法完成这项任务。 我使用python selenium和自动化谷歌chrome。 下面是我错误代码的快照,用于选择Abarth as make:

  • 问题内容: 我一直在弄清楚如何获取变量以使用Selenium时遇到了麻烦。这篇文章似乎有所帮助(Variable在括号内不起作用),但我仍然无法使它起作用。 当我使用实际值时,它起作用。在这种情况下,阿拉巴马州。我创建了一个名为state的变量,以便可以在函数中调用它。我有13个州要经历。 这使用状态变量,并在查看错误消息时将变量值显示为AL- Alabama。因此,似乎在引用网页中的正确值。不知

  • 我一直试图单击中的accept按钮,但无法用定位此。我也查过类似的帖子,但没有用。 Selenium找不到iframe,python Selenium找不到iframe xpath 到目前为止我一直在尝试跟随。 给出了。 还尝试了: 错误 查找将显示一个空列表。但是,我能够找到具有和属性的两个父元素。 编辑:给出最外层的元素。但是,使用访问相同的元素会给出空列表。 所以,我想不起作用了?!我怎样才

  • 问题内容: 我的XML文件如下所示: 我要做的就是提取ListPrice。 这是我正在使用的代码: 绝对没有输出。我也试过 没有不同。 我究竟做错了什么? 问题答案: 您有2个问题。 1)仅包含根元素,而不包含整个文档。它是Element类型而不是ElementTree类型。 2)如果将命名空间保留在XML中,则搜索字符串需要使用命名空间。 要解决问题1: 您需要更改: 至: 要解决问题2: 您可