Selenium Befehl By hat kein Attribut?
Hallo Zusammen
Ich versuche gerade meinen gmx account automatisch aufzurufen allerdings hat anscheinend der befehl By kein Attribut.
Ich hoffe ihr könnt mir helfen
1 Antwort
Vom Fragesteller als hilfreich ausgezeichnet
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Python, Programmieren & Softwareentwicklung
Generell benötigst du einen Import, um By nutzen zu können
from selenium.webdriver.common.by import By
und es werden nur bestimmte Attribute unterstützt.
- CLASS_NAME
- CSS_SELECTOR
- ID
- LINK_TEXT
- NAME
- PARTIAL_LINK_TEXT
- TAG_NAME
- XPATH
Das kannst du soweit auch in der Dokumentation nachschlagen.
Für den Fall, dass du ein Element mit einem bestimmten Attribut suchen möchtest, könntest du einen CSS-Selektor oder einen XPath definieren.
Beispiel:
<!doctype html>
<title>Example</title>
<body>
<div data-value="some value"></div>
</body>
Suche via CSS-Selektor:
driver.find_element(By.CSS_SELECTOR, "[data-value]")
oder mitsamt Wert:
driver.find_element(By.CSS_SELECTOR, "[data-value='some-value']")
Suche via XPath:
driver.find_element(By.XPATH. "//div[@data-value]")