Ich habe eine HTML-Seite (Öffnen mit Firefox und/oder Chrome), und ich versuche, den richtigen XPath des (Bild-) Elements zu finden, das ich versuche, auf die Webseite zu klicken. Ich kodiere in C# mit Selenium Automation. So sieht das Element aus, wenn ich mit der rechten Maustaste klicke und inspect wähle:Selen XPath nicht gefunden Fehler in C#
(Die eigentliche Website ist zu lang, also subbing ich sie mit {website} und {different-website}).
EDIT: Tut mir leid, ich habe vergessen, aber die {Website} ist dynamisch. Und {different-website} ist statisch.
<a href="https://{website}">
<img border="0" alt="open now" src="https://{different-website}.gif">
</a>
Ich versuche, das img mit meiner Automatisierung zu klicken, aber alles, was ich die Automatisierung versuche nicht und sagt: „Nicht imstande Element zu finden“. Ich stelle fest, dass der img versucht zu klicken ist irgendwie verschachtelt in die oben genannten {a} -Element. Vielleicht ist es deshalb so schwierig auszuwählen und anzuklicken. Ich habe versucht, Dinge wie:
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();
All diese zurückgegeben „Unable Element zu lokalisieren“ und ich bin fest auf was soll ich sonst tun oder versuchen. Irgendwelche Vorschläge würden sehr geschätzt werden. Vielen Dank.
Das funktioniert nicht auch ich kann nicht wirklich die Website Link geben, weil es klassifiziert ist (daher das dynamische Verhalten), aber das einzige, was ich wirklich sehen kann, wenn ich die inspiziere Webseite ist das, was ich versuche zu klicken, ist innerhalb eines Absatzes geschachtelt. Danke, dass du versucht hast, auch zu helfen – CRich
Versuche dies ... gehe zu der Seite, die du benutzt und tippe '$ x (" // a/img [@ alt = 'öffne jetzt'] ")' in der Dev-Konsole ... Was gibt es zurück? – JeffC
Hmm ... Ich habe 3 davon auf der Seite, nachdem ich das eingegeben habe. Ich habe 3 gleiche Bilder mit genau diesem XPath. Vielleicht konnte Selen das deshalb nicht finden. Aber seit ich 3 habe, hätte ich nicht einen finden können? – CRich