我想在使用webdriver時從網站獲取一些分數。到目前爲止,我嘗試了XPath,CSS,Classname,但有時它位於該項目中,有時卻不是。Selenium WebDriver - 無法找到元素異常
這是我一直在試圖把它的HTML代碼:
<td class="score" rowspan="6"><span class="p1_home">0</span> - <span class="p1_away">0</span></td>
這是我的代碼(我試過至今):
firstHalf[i] = Driver.FindElement(By.XPath("//*[@id=\"parts\"]/tbody/tr[2]/td[2]")).Text;
其他版本:
firstHalf[i] = Driver.FindElement(By.CssSelector("#parts > tbody > tr:nth-child(2) > td.score")).Text;
firstHalf[i] = Driver.FindElement(By.ClassName("score")).Text;
而且我嘗試了兒童班(在分數班),但結果是一樣的,有時可以找到元素,有時它不能。
有什麼建議嗎?
更新:對於我的代碼,我把一些wait
或Thread.Sleep
仍然無法正常工作。
for (int r = 0; r < 10; r++)
{
try
{
string d1 = Driver.FindElement(By.XPath("//span[@class='p1_home']")).Text;
string d2 = Driver.FindElement(By.XPath("//span[@class='p1_away']")).Text;
//firstHalf[i] = firstHalf[i].Replace(" ", "");
firstHalf[i] = d1 + "-" + d2;
break;
}
catch (Exception e)
{
Thread.Sleep(300);
r -= 1;
eventCounter++;
if (eventCounter == 10)
{
errorMsg.sendErrMsg(e);
//errorMsg.stopProgram();
}
}
}
ü要哪個元素定位 – iamsankalp89
@ iamsankalp89我想找到類'score'或子類,這些都是'p1_home'和'p1_away' –
//跨度[@ class ='p1_home']和// span [@ class ='p1_away'] – iamsankalp89