Selenium python点击span类

时间:2016-01-28 09:31:21

标签: python internet-explorer selenium xpath intranet

我正在尝试自动化Intranet站点。源代码是一堆表,包含数百个代码,如下所示:

<span id="GridView1_ctl51_lblCaseType"></span>
</td><td nowrap="nowrap">
<span class="fakeLink" title="Edit case" onmouseenter="this.focus()" onclick="editCase('286658')"> 286658</span>
</td><td nowrap="nowrap">1360428-0000</td><td align="center" style="color:Red;">
<span id="GridView1_ctl51_Label2">13,0</span>
</td><td align="center">
<span id="GridView1_ctl51_Label2">8,8</span>
</td><td align="center">
<span id="GridView1_ctl51_Label9">R</span>
</td><td>
<span id="GridView1_ctl51_Label6">Waiting for info fr. suppl.</span>
</td><td>
<span id="GridView1_ctl51_Label11" title="1360428-0000 Condensate Cup&lt;br/>Price is missing, please update price&lt;br/>(enquiry by Name 11/1)" class="vtip">1360428-0000 Co</span>
</td><td>
<span id="GridView1_ctl51_Label12" title="Please source" class="vtip">Please source</span>
</td><td>
<span id="GridView1_ctl51_Label7">Fname Lname</span>
</td><td>
<span id="GridView1_ctl51_Label1"></span>
</td><td>
<span id="GridView1_ctl51_Label8">Price or delivery time missing</span>
</td><td>
<span id="GridView1_ctl51_Label3">A21</span>
</td><td>
<span id="GridView1_ctl51_Label10">TS6</span>
</td><td>
<span id="GridView1_ctl51_Label5">FName Lname</span>
</td><td>&nbsp;</td>

我需要捕获零件号1360428-0000并单击“editCase(286658)”。我有两个问题:

  1. 使用部件号1360428-0000作为参考,以查找案例编号286658
  2. 用xpath点击286658?无法使其发挥作用。
  3. 我尝试使用以下代码找出问题#2但没有成功:

    def IeTest():
        driver = webdriver.Ie("C:\\Python34\\IEDriverServer.exe")
        driver.get("http://intranet.company.com")
        time.sleep(3)
        print(driver.title)
        elem = driver.find_element_by_xpath('//span[contains(@onclick,"286658")]')
        elem.click()
    IeTest()
    

    感谢任何帮助。我也必须使用IE。

1 个答案:

答案 0 :(得分:1)

这是一个可以通过部件号span找到目标"1360428-0000"的XPath:

//td[text()='1360428-0000']/preceding-sibling::td[1]/span[@title='Edit case']

<强> xpathtester.com demo