我有一個HTML頁面(使用Firefox和/或Chrome打開),並且我試圖找到正在嘗試點擊該網頁的(圖片)元素的正確XPath。我使用Selenium Automation在C#中編寫代碼。下面是當我右鍵單擊並選擇檢查時該元素的外觀:C#中的Selenium XPath未找到錯誤#
(實際網站太長,所以我用{網站}和{不同網站}對它進行了修改)。
編輯:對不起,我忘了,但{網站}是動態的。 {不同網站}是靜態的。
<a href="https://{website}">
<img border="0" alt="open now" src="https://{different-website}.gif">
</a>
我想用我的自動點擊IMG,但一切我嘗試失敗的自動化,並說「找不到元素」。我注意到,試圖點擊的img嵌套在上面的{a}元素中。也許這就是爲什麼選擇和點擊非常困難。 我試過的東西,如:
driver.FindElement(By.XPath("//a[starts-with(@href='https://www.{website}')]")).Click();
driver.FindElement(By.XPath("//a[contains(@href='https://www.{website}')]")).Click();
driver.FindElement(By.XPath("//img[(@src,'img1935.gif')]")).Click();
driver.FindElement(By.XPath("//img[(@src,'img1935.gif')]/../a")).Click();
driver.FindElement(By.XPath("//a[not(@href)/img/@src | //a[img]/@href")).Click();
driver.FindElement(By.XPath("//a[@alt='open now']/@src")).Click();
driver.FindElement(By.XPath("//img[@alt='open now']/@src")).Click();
所有這些返回「找不到元素」和我卡上還有什麼我應該做的,或嘗試。任何建議將不勝感激。非常感謝你。
這不起作用,我也不能實際給出的網站鏈接,因爲它的分類(因此動態行爲),但我真的可以看到,當我檢查網頁是我想要點擊嵌套在一個段落內。感謝您也試圖幫助 – CRich
試試這個...轉到您正在使用的頁面並在開發控制檯中鍵入$ x(「// a/img [@ alt ='open now']」)'...它返回什麼? – JeffC
嗯...我有3個人在頁面上輸入後,我有3個相同的圖像與精確的XPath。也許這就是Selenium無法找到它的原因。但是因爲我有3個,它不應該找到其中的一個嗎? – CRich