在我试图测试的网页中,我需要点击以下定义的元素:
<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实际点击该元素。
答案 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并从中导航。