我正在尝试找到此网站链接的“登录”按钮 - monsterIndia Login但是“登录”按钮的xpath会不断变化。我提到了我用过的xpaths
-First XPath -
html/body/form/table/tbody/tr/td/table[3]/tbody/tr/td/div[2]/table/tbody/tr[7]/td/div[2]/input,
第二次XPath -
html/body/form/table/tbody/tr/td/table[3]/tbody/tr/td/div[2]/table/tbody/tr[8]/td/div[1]/input
但是当我第三次尝试找到它时,它再次改为
.//*[@id='contact_']/tbody/tr/td/table/tbody/tr/td[1]/table/tbody/tr[7]/td/div[2]/input
HTML代码 -
<tbody>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<td class="font_11" valign="top" bgcolor="#FFFFFF">
<div style="float:left">
<div style="float:left; margin-left:10px;">
<input width="54" type="image" height="23" border="0" value="" name="submit" src="https://media4.monsterindia.com//monster_2012/btn_login.jpg"/>
</div>
在HTML代码中,tr的数量从7和8变化,div也从1和2变化 我附上了整个HTML代码
的屏幕截图答案 0 :(得分:1)
在自动化中使用绝对xpath来定位元素是非常糟糕的做法。而不是使用绝对xpath,你可以使用相对xpath。
登录按钮定位器
xpath
By.xpath("//input[@name='submit']")
cssSelector
By.cssSelector("[name='submit']")