2016-02-27 118 views
0

我输入为A[1]='International Round',我试图在HTML代码中找到A [1],并在获取值221.35和-132.50(将保存在A [ 2]和A [3])。 我试过driver.find_element_by_xpath("//span[contains(@title, '%s' % A[1])]//*[contains(@class,'PR')]"),但没找到元素。以下是HTML代码。提前感谢任何帮助!Python Selenium获取刚刚输入的元素变量

<td>  
<td> 
<td> 
    <a id="ol-s-28647620-a" class="Results " href="javascript:$M('ol').onPoints('s',28647620,'a',221.35)"> 
    <span class="PR">221.35</span> 
    <span class="PM">-132.50</span> 
    <span class="PL" title="International Round">International Round</span> 
    </a> 
</td> 

回答

1

//xpath是要孩子的元素,没有兄弟姐妹。在你的情况下使用preceding-sibling

siblings = driver.find_elements_by_xpath("//span[contains(@title, '%s')]/preceding-sibling::span", % A[1]) 
A[2] = siblings[0].text 
A[3] = siblings[1].text 
+0

感谢的话了这么多,我已经几天这个挣扎。请你给我推荐一本关于Selenium Python的好书或者在线素材? – Johnny007

+0

不客气:)。我不知道任何有关Selenium的书籍,而且我也没有使用Python(我使用C#和Java)。我发现最好的学习方式是卡在某物上并寻找答案;)。 @ Johnny007 – Guy