Selenium 无法从svg标记获取文本

Selenium 无法从svg标记获取文本,selenium,Selenium,/html[1]/body[1]/div[1]/div[2]/div[1]/div[1]/div[1]/div[4]/div[1]/div[1]/div[5]/div[1]/div[1]/div[*]/div[2]- 这个XPath给了我4个div标记,我在这里扩展了最后2个标记。这些基本上是4行,我必须点击一个接一个,如果行包含值,它会弹出 值将在控制台上打印,否则将在必须在控制台上打印的行上写入的内容 第二排和第四排(div)的文字是“请稍候…” 第三个div标签包含91%,我可以获取 使用

/html[1]/body[1]/div[1]/div[2]/div[1]/div[1]/div[1]/div[4]/div[1]/div[1]/div[5]/div[1]/div[1]/div[*]/div[2]
-

这个XPath给了我4个div标记,我在这里扩展了最后2个标记。这些基本上是4行,我必须点击一个接一个,如果行包含值,它会弹出 值将在控制台上打印,否则将在必须在控制台上打印的行上写入的内容

第二排和第四排(div)的文字是“请稍候…”

第三个div标签包含91%,我可以获取 使用
/*[name()='svg']/*[name()='g'][1]/*[name()='text']
并在控制台上打印。但在获取文本“请稍候…”时遇到困难。从div标签

下面是4个div标签代码

<div class="custom- slick-cell l1 r1" style="" xpath="1"></div>
<div class="custom- slick-cell l1 r1" style="" xpath="2"></div>
<div class="custom- slick-cell l1 r1 active selected" style="" xpath="3">
   <svg width="100%" height="25" version="1.1" id="SVG_c0784e89-a155-4a07-b7d1-8236510dd78c" data-ispopupdisplayallowed="true" data-measureid="486" data-is-pcp-user="false" data-is-po-user="true" onclick="openEPSDTCompletionRateSummary('SVG_c0784e89-a155-4a07-b7d1-8236510dd78c')" xmlns="http://www.w3.org/2000/svg">
      <g></g>
      <text x="10" y="17" fill="black" style="font-weight: bolder; font-size: 12px;" id="PopUp_c0784e89-a155-4a07-b7d1-8236510dd78c">
         91%
      </text>
      <g></g>
   </svg>
</div>
<div class="custom- slick-cell l1 r1" xpath="4">
   <svg width="100%" height="25" version="1.1" id="SVG_f4f7f3fb-b09d-4c26-ac2f-81e01172416f" data-ispopupdisplayallowed="false" data-measureid="500" data-is-pcp-user="false" data-is-po-user="true" xmlns="http://www.w3.org/2000/svg">
      <g></g>
      <text x="10" y="17" fill="black" style="font-weight: bolder; font-size: 12px;" id="PopUp_f4f7f3fb-b09d-4c26-ac2f-81e01172416f">
         Please wait.... 
      </text>
      <g></g>
   </svg>
</div>

91%
请稍等。。。。

尝试下面的xpath选项

//div[@class='custom- slick-cell l1 r1']//*[name()='svg']//*[name()='text'] [contains(.,'Please')]


试试下面的xpath选项

//div[@class='custom- slick-cell l1 r1']//*[name()='svg']//*[name()='text'] [contains(.,'Please')]


请尝试下面的xpath:

//div[@custom- slick-cell l1 r1']//*[local-name()='svg']//*[local-name()='g']//*[name()='text'][1]
我可以理解你不能提供url,但请找到下面的svg元素示例

//span[@class='float-left header-icon-left']//*[local-name()='svg']//*[local-name()='g']//*[name()='path'][1]
Url:
https://stackoverflow.com/questions/14592213/selenium-webdriver-clicking-on-elements-within-an-svg-using-xpath

xpath = driver.find_elements_by_xpath('//div[@class='custom- slick-cell l1 r1']//*[name()='svg']//*[name()='text'] [contains(.,'Please')]')

请尝试下面的xpath:

//div[@custom- slick-cell l1 r1']//*[local-name()='svg']//*[local-name()='g']//*[name()='text'][1]
我可以理解你不能提供url,但请找到下面的svg元素示例

//span[@class='float-left header-icon-left']//*[local-name()='svg']//*[local-name()='g']//*[name()='path'][1]
Url:
https://stackoverflow.com/questions/14592213/selenium-webdriver-clicking-on-elements-within-an-svg-using-xpath

xpath = driver.find_elements_by_xpath('//div[@class='custom- slick-cell l1 r1']//*[name()='svg']//*[name()='text'] [contains(.,'Please')]')

您可以使用这个
xpath

xpath = driver.find_elements_by_xpath('//div[@class='custom- slick-cell l1 r1']//*[name()='svg']//*[name()='text'] [contains(.,'Please')]')

您可以使用这个
xpath

xpath = driver.find_elements_by_xpath('//div[@class='custom- slick-cell l1 r1']//*[name()='svg']//*[name()='text'] [contains(.,'Please')]')


我不确定这是如何将xpath
/*[name()='svg']/*[name()='g'][1]//*[name()='text']
与html片段关联起来的,因为您没有非空的
组(至少在您提供的代码中),此xpath应该标识元素
请稍候….
,xpath是
///div[@class='custom-slick cell l1 r1']/*[name()='svg']/*[name()='text']
我不确定这与您的html代码段有什么关系,因为您没有非空的组(至少在您提供的代码中是如此)此xpath应该标识元素
请稍候….
,xpath是
//div[@class='custom-slick cell l1 r1']//*[name()='svg']/*[name()='text']
上述所有3个选项都提供了“0”元素。不起作用。奇怪。请在与元素交互之前等待一段时间。应根据您提供的DOM工作。我正在使用Chropath和控制台上使用$x(“”)检查代码;在实际用例中,您是如何启用“请稍候…”的?单击某个按钮还是如何启用?此文本仅显示在第行上,只是希望获取与在一行上显示的91%相同的内容,正如我的问题中所述,我能够获取。上述所有3个选项都提供了“0”元素。不起作用。奇怪。请在交互之前提供一些等待代理元素。应该基于您提供的DOM工作。我正在使用Chropath和控制台上使用$x(“”)检查代码;在实际用例中,您是如何启用“请稍候…”的?单击某个按钮还是如何?此文本仅显示在第行上,只是希望获取与我在问题中提到的一行上显示的91%相同的内容。请检查我的此疑问。请检查我的此疑问。注释不用于扩展讨论;此对话已结束。评论不用于扩展讨论;此对话已结束。