我很新的硒,但我越來越好... :)VBA +硒元素找到替代CSS XPath的
我正在從一個網站提取數據,並在將其保存刮板excel表格。
該網站的結構是可怕的,沒有ID的所有,所有的類都是相同的命名,除了類有中很少使用的標籤和屬性。 該網站是充滿了表,我只需要從一個特定的 表的信息。很難找到它,因爲表格的順序每天都在變化。
該網站的結構是這樣的:
<div class="table">
<table cellspacing="0" cellpadding="0" border="0">
<thead>
<tr>
<th colspan="4">
<strong>I NEED the bla bla from this table!</strong>
<tbody>
<tr class="even">
<td>01</td>
<td>bla bla</td>
<td>bla bla</td>
<tr class="odd">
<td>02</td>
<td>bla bla</td>
<td>bla bla</td>
</tbody>
</table>
</div>
<div class="table">
<table cellspacing="0" cellpadding="0" border="0">
<thead>
<tr>
<th colspan="4">
<strong>I DON'T need this!</strong>
<tbody>
<tr class="even">
<td>01</td>
<td>bla bla</td>
<td>bla bla</td>
<tr class="odd">
<td>02</td>
<td>bla bla</td>
<td>bla bla</td>
</tbody>
</table>
</div>
當然也有從我不需要的數據很多其他表,但它們的結構長得一模一樣。
所以我只需要從一個表中的數據。我收集相關數據的方式是搜索我需要的字符串(「我需要這個」),然後退回幾個節點,然後再次進入tbody部分,最後我可以得到「bla bla」文本。 我在VBA和Selenium的XPath的幫助下完成此任務。 這裏是我的代碼:
Set my_Element = driver.FindElementsByXPath("(//th[strong='My text'])[1]/../../../tbody/tr[1]/td[2]")
我有兩個問題:1 )有沒有什麼辦法讓與driver.FindElementByCss()命令相同的結果? 2)正如你可以在我的Xpath命令中看到的,我需要輸入確切的文本,有沒有什麼方法可以使用'contains'命令? (我不能使它工作:()
感謝您的幫助提前!
親愛Spalsh58! 謝謝您的回覆!您的解決方案確實是比較實用的,然後我的代碼,但在後我問CSS選擇器替代(INS Xpath的tead)。 謝謝! – hunsnowboarder
我回答poiтt2 :) – splash58
:)是的,這是真的! :) 謝謝! – hunsnowboarder