如何使用IE Webdriver在Selenium中选择特定元素

时间:2015-10-20 15:52:29

标签: python-2.7 internet-explorer selenium selenium-webdriver

在我试图测试的网页中,我需要点击以下定义的元素:

<span id="mx45" class="text powerwhite goto " title="Go To ALT+G " style="display: block; cursor: pointer;" accesskey="G" mxevent="click" targetid="mx45" ev="goto" tabindex="0" ctype="label" align="middle" clicked="true">

我无法使用id,因为当服务器重新启动时,id会更改。我尝试从Firebug获取XPATH(正如我为许多其他元素所做的那样),但是找不到。感谢所有建议。

EDIT 由于答案我现在能够选择元素,但这提出了一个新问题。该元素是一个弹出菜单的链接,但如果我试图让Selenium点击链接,它就会闪烁(就像Selenium找到它,但不能点击它)。如果我点击链接,我的测试会继续,但我在这里努力使Selenium实际点击该元素。

2 个答案:

答案 0 :(得分:1)

我不知道你的html的结构,

但是给定,标题是独一无二的,你可以做这样的事情:

driver.find_element_by_xpath("//span[@title='Go To ALT+G ']").click()

你也可以选择&#34; tabindex&#34;或者&#34; class&#34;,如果您的html结构允许它。

someParentElement.find_element_by_xpath("//span[@tabindex='0']").click()
someParentElement.find_element_by_xpath("//span[@class='text powerwhite goto ']").click()

例如,如果您可以找到这些属性唯一的父元素

,那将是这种情况

答案 1 :(得分:0)

假设我引用的属性是静态的,我会使用引用drkthng等属性的CSS选择器

$$(span.text[title='Go To ALT+G ']").  

您还可以使用静态相邻元素作为achor并从中导航。