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

查找元素驱动程序中的元素

潘银龙
2023-03-14

当我试图将元素放入元素中时,我面临一个问题。我尝试了两种方法来实现这一点,但不幸的是没有成功。

element_list = driver.find_elements_by_xpath("//div[@class='WGGO WKFO']//ul//li[@class='WO0F WHHO WI5 WF2F']//div[@class='WP0F WN0F']//div[@class='WDQY']//ul[@class='WHDR WCQY']")

上面的代码获取所有DOM元素列表。

方法1:

for element in element_list:
    element_text = element.find_element_by_xpath("//div[@class='WP0F WN0F']//div[@class='WDQY']//ul[@class='WHDR WCQY']").text
    print(element_text)

当我尝试这个方法时,它总是返回第一个元素的文本,而不是相应的元素文本。

在搜索时,我发现了一个链接,有人问了和我一样的问题。

Selenium Webdriver在子元素中查找元素

当我尝试p0deje的答案时,它给了我一个空白数组。

element_text = element.find_elements_by_xpath(".//div[@class='WP0F WN0F']//div[@class='WDQY']//ul[@class='WHDR WCQY']").text

结果:[]

请建议我如何实现这一点,如何在元素中获得元素细节?

共有2个答案

晏阳飙
2023-03-14

element_list已经包含了所有要打印的元素,即element_文本。您不能使用WebElement来定位自身,它之所以没有在NoSuchElementException中失败,是因为当使用xpath从另一个元素定位元素时,您需要指定当前上下文

find_element_by_xpath('.//div')

遍历element_list

for element in element_list:
    print(element.text)

或者,如果您真的想拆分它,因为您可以使用父列表上的更多操作(注意,她缩短了element_listxpath

element_list = driver.find_elements_by_xpath("//div[@class='WGGO WKFO']//ul//li[@class='WO0F WHHO WI5 WF2F']")
for element in element_list:
    element_text = element.find_element_by_xpath(".//div[@class='WP0F WN0F']//div[@class='WDQY']//ul[@class='WHDR WCQY']").text
    print(element_text)

缑嘉玉
2023-03-14

这一行代码的问题:element_text=element.find_elements_by_xpath(".//div[@class='WP0F WN0F']//div[@class='WDQY']//ul[@class='WHDR WCQY']"). textist查找元素重新调用列表,列表没有. text属性。尝试遍历返回的列表:

elements = driver.find_elements_by_xpath("//div[@class='WGGO WKFO']//ul//li[@class='WO0F WHHO WI5 WF2F']//div[@class='WP0F WN0F']//div[@class='WDQY']//ul[@class='WHDR WCQY']")
#as a list comprehention
element_text= [element.text for element in elements]
#or as a for loop
element_text=[]
for element in elements:
    element_text.append(element.text)
 类似资料:
  • 我正在寻找提取表中的数据,我已经找到做以下工作: 从我得到的球员 现在我想检索表中的数据。我该怎么做? 编辑:我应该说,当我这样做的时候 我得到

  • 我对使用Python的Selenium是新手。我正在尝试获取一些数据,但我不知道如何解析来自以下命令的输出: 我试图在谷歌上搜索一些教程,但我没有找到Python的任何内容。 你能给我个提示吗?

  • 问题内容: 我有一个多维数组,我想获取围绕该数组中特定元素的元素。 例如,如果我有以下内容: 如何找到以上任何一个元素中的所有8个元素?以及如何处理边缘的元素? 我发现的一种方法是为此编写9行代码,这很明显,但是有更好的解决方案吗? 问题答案: for (i = 0; i < array.length; i ) { for (j = 0; j < array[i].length; j ) { fo

  • 我将硒与python中的Chrome驱动程序一起使用。 我的问题是,硒给我一个错误,因为我试图访问铬下载页面上的元素(铬://下载)。例如,我试图获取文件url"http://file.jpg"。 但当我试图通过其id获取元素时,我得到了一个异常。 代码: 例外情况: 通过 使用 javascript 对我也不起作用。为什么当我可以在浏览器中看到元素时,我会收到 ?

  • 环境:Eclipse-Java-Junit-Firefox web driver 屏幕截图网址 : https://www.dropbox.com/s/26fl2l1y1mkpxiz/Screenshot 2014-01-06 01.52.43.png 我试图测试一个网页,但找不到元素(看起来像按钮)。Firebug的xpath是:<code>/*〔@id='DERIVED_REGFRM1_LIN

  • 我正在为android应用程序定位元素,并有一个查询。我存储的web元素列表如下 但这并不奏效。非常感谢任何帮助。