因此,這裏是我嘗試使用的當前XPath。由於動態xpath無法定位元素
//*[@id="highcharts-33"]/svg/g[3]/g[1]/text
的問題是,這是一個動態的Xpath,所以古話叫做「highcharts-33」,「highcharts-34」等等......我做的論文圖表截圖點擊複選框。每當選中/取消選中複選框時,下一個圖表將具有不同的ID。
這裏是我得到在cmd錯誤:
NoSuchElementException異常:消息:無法定位元件:{ 「方法」: 「的xpath」, 「選擇器」:「// * [含有(@ id,'highcharts - ')]/svg/g [3]/g [1]/text「}
你可以在這裏看到我試圖使用」contains「。我也嘗試使用「開始 - 與」,但我仍然無法找到圖表。
這裏有事情我已經嘗試:
textvote = self.driver.find_element_by_xpath("//*[contains(@id,'highcharts-')]/svg/g[3]/g[1]/text").text
textvote = self.driver.find_element_by_xpath("//*[starts-with(@id,'highcharts-')]/svg/g[3]/g[1]/text").text
我搜索了堆棧溢出,看到它的一些話題,它總是啓動,與/或包含一個懸而未決的話題。所以我可能會使用starts-with /包含錯誤。
如果你想要我分享更多的代碼,請不要猶豫。 謝謝。
編輯:添加培訓相關HTML
<div id="chartListContainer">
<div id="chart0" class="gauge-chart" data-highcharts-chart="16"><div class="highcharts-container" id="highcharts-33"
<div class="highcharts-container" id="highcharts-33"
<svg version="1.1"
<g class="highcharts-data-labels highcharts-tracker"
<g zIndex="1"
<text x="0" zIndex="1" style="font-size:30px;font-family:Open Sans;color:#1abb1a;fill:#1abb1a;" y="32"><tspan>80.0% (4 votes)</tspan></text>
我試圖從最後一行文字。
添加培訓相關的html還有一個或兩個以上的級別 – Grasshopper
需要分享您的HTML以及.. –
請粘貼元素的html。 – Dalvenjia