1

我正在尝试选择这个。

<td colspan=2 align="right" class="txtpad">
<input type="submit" class="btn" value="Sign in" onclick="clkLgn()" 
onmouseover="this.className='btnOnMseOvr'" onmouseout="this.className='btn'"        
onmousedown="this.className='btnOnMseDwn'">
<input name="isUtf8" type="hidden" value="1">
</td>

然而,当我尝试这个时,

element3 = driver.find_element(:value, "Sign in")
element3.click

它不起作用。

如何点击按钮登录?

4

1 回答 1

2

find_element 不与 :value 一起使用。

实际上,它需要第一个参数作为您想要查找元素的方式,即通过 :css 或 :xpath,在包含数据的第二个字符串之后查找特定元素。

因此,在您的情况下,我们知道我们无法使用 :css 找到价值,但我们可以使用 :xpath 来做到这一点。

因此,在这种情况下,你可以试试这个

element3 = driver.find_element(:xpath, '//*[contains(@value, "Sign in")]').first
element3.click

我在我的系统上试过这个。我认为这将完美运行。

于 2012-11-05T19:22:40.947 回答