driver.findElement(By.xpath("html/body/div[1]/div/div[2]/div/form/div[3]/div[2]/button")).click();
- Sie möglicherweise ein hätte wählen können Besserer XPath-Ausdruck als dieser oben. Was Sie getan haben (ohne auf den tatsächlichen HTML-Code zu schauen) ist, dass Sie den kompletten xpath notiert haben, ist es möglich, es kürzer/robuster zu machen?
Betrachten Sie das folgende Beispiel:
driver.findElement(By.xpath("html/body/div/div/button")).click()
oder Sie können es entlang dieser mit XPath finden:
<html itemscope itemtype="http://schema.org/QAPage">
<body class = "question-page new-topbar">
<div id="notify-container"></div>
<div id="topbar-wrapper"></div>
<button id="button1"></button>
</body>
</html>
Sie auf button1
klicken möchten, können Sie es mit dem vollständigen XPath finden Element andere Attribute, in diesem Fall seine ID.
driver.findElement(By.xpath("//button[@id='button1']")).click()
oder, wie Sie möchten, können Sie CSS-Selektor verwenden:
driver.findElement(By.cssSelector('button[id='button1']')).click()
Wenn Sie uns wollen Ihnen helfen, mit der Umwandlung Ihrer XPath in CSS-Selektor, müssen Sie kopieren und Ihre HTML-Code einfügen Auch in deiner Frage. Ohne auf den tatsächlichen Code zu schauen, können wir nicht 100% sicher sein.
Sie können den folgenden Link nützlich finden, wenn Sie versuchen, Xpath in CSS-Selektor zu konvertieren. https://www.simple-talk.com/dotnet/.net-framework/xpath,-css,-dom-and-selenium-the-rosetta-stone/
Also, was ist dein Problem? Erhalten Sie eine Fehlermeldung? – rdmueller
Dies ist kein guter xpath, es sollte etwas wie '// form [form hier identifizieren] // button [identify button here]' sein, und es hat keine Informationen, um es in CSS-Selektor zu konvertieren. Ändern Sie diesen xpath so, dass zuerst '@ id', '@ class' oder andere eindeutige Attribute verwendet werden. –
Bitte geben Sie den entsprechenden HTML-Code an, damit wir Sie bei der Auswahl des CSS-Selektors unterstützen können. Einige CSS-Referenzen, die Ihnen helfen können: https://www.w3.org/TR/selectors/#selectors, https://saucelabs.com/resources/selenium/css-selectors – JeffC