无法从《科学杂志》(Science Magazine)获得xpath,它返回一个没有元素的列表

powerPixie

doi.org可以访问我当前正在处理的页面,这是文章的代码:10.1126 / science.aaa1442

无论如何,我试图提取地址标记之间写入的内容,我使用了以下xpath表达式

// li [@ class ='aff']

html如下:

<li class="aff">
   <a id="aff-1" name="aff-1"></a>
   <address>
     <sup>1</sup>
     "Materials Science Division, Argonne National Laboratory, Lemont, 
      IL 60439, USA"
   </address>
</li>

我得到的是输出:[“,”,“,”,“,”]

我试图扩展包括// li [@ class ='aff'] / address的xpath,并使用从Google chrome开发人员工具复制的绝对路径进行了一些实验,这给了我结果['']

xpath传递给我编写的该函数。它在其他情况下也可以使用,但不适用于以下情况:

def inspectElement(self,exp,atr=None): 

    def _init_(self,exp,atr):
        self.exp = exp
        self.atr = atr

    thread = browser.find_elements(By.XPATH,(" %s" % exp))

    xArray = [] 

    for t in thread:
        if atr == 0:
            xThread = t.get_attribute('id')
        elif atr == 1:                
            xThread = t.get_attribute('href')
        else:
             xThread = t.text         
        xArray.append(xThread)  

    return xArray

我想让列表中当前所有6个元素都为空。

提前致谢。

弗里斯特

//li[@class='aff']/address这是您应该使用的,应该给您6个元素。我已经在本地进行了测试,您可能需要逐步检查代码,看看是否还有其他问题导致您仅得到1个结果。

另一个问题是<sup>阻碍了t.text返回任何东西。您需要做的是以下版本:

xThread = t.get_attribute('innerText')

在这种情况下,您可以向函数添加另一个选项,并具有如下所示的内容:

elif atr == 2:                
    xThread = t.get_attribute('innerText')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法通过 xpath 选择和单击链接锚标记,它返回一个包含 1 个元素的数组

无法获得此代码以列出目录中的所有文件,或者给我一个错误。它什么也没做

无法排除 xpath 中的最后一个元素

Selenium 从 span 元素的 XPath 返回一个空列表

XPATH 做一个没有双胞胎的元素列表

Python 有没有办法返回一个没有前 n 个元素的列表?

SwiftUI中的列表视图在列表上方显示了一个灰色区域,我无法摆脱它

有没有办法让 selenium 单击此下一个按钮,直到使用类名而不是 id 无法单击它

检索表时,无法在表中的第一个位置获得第一个元素?

我在我无法控制的java中调用一个方法。如果没有收到回应,我想杀死它并继续前进

Ajax 没有进入成功功能。总是错误函数。它无法将数据发布到另一个文件

我添加了一个类,然后不再需要它,现在没有它就无法构建我的项目。我该如何解决?

如何删除列表的第一个和最后一个元素并返回没有这些元素的列表?

Python / Selenium webdriver。在页面上找到一个元素并打印/返回它的xpath

Selenium 无法定位元素,一个使用xpath 的搜索按钮

无法访问列表中的第一个元素以外的其他元素

Python-我无法从列表中获得第一个名称以外的名称

无法将 2 个元素与一个具有空值的元素匹配

无法获得一个日历活动

无法在此33个元素的节点列表中选择第一个孩子

如果我正在使用 SELECT 子查询编写一个查询,而另一个没有使用 SELECT 子查询,那么我无法获得所需的输出?

Jquery val() 没有返回正确的值,它返回一个截断的值

python风险游戏,我无法让它只比较最后一个的所有数字

有一个资源泄漏的警告,但我似乎无法关闭它

我有一个Java lang,它无法启动活动

我的一个函数有问题,我写错了,我无法猜测如何更改它

似乎我在某处有一个错误的索引,但无法发现它

我的海龟代码有一个错误,我似乎无法在它的末尾修复

如何将一个数字乘以我的列表中用科学记数法表示的每个元素?