2014-01-08 3 views
17

Ich versuche Text mit Selen-Web-Treiber zu bekommen und hier ist mein Code. Bitte beachten Sie, dass ich Xpath nicht verwenden möchte, da in meinem Fall die ID bei jedem Relaunch der Webseite geändert wird, bitte helfen Sie.Wie bekomme ich Text mit Selen-Web-Treiber in Python

mein Code:

text=driver.find_element_by_class_name("current-stage").getText("my text") 

einfache HTML:

span class="current-text" id="yui_3_7_0_4_1389185744113_384">my text</span 

Antwort

46

Sie wollen einfach nur .text.

Sie können dann überprüfen es nach Sie es haben, versuchen Sie nicht in passieren, was Sie erwarten es haben sollte.

+0

Im diesen Fehler - 'WebDriver' Objekt hat kein Attribut 'getText' – user3121891

+0

@ user3121891, es ist '.text'. – Arran

+0

Jetzt mit Im diesen Code:. driver.find_element_by_class_name ("current-stage") Text ("mein Text") wenn Text: print "pass" sonst: print "Fail" und bekommen diese error - 'unicode' -Objekt ist nicht aufrufbar – user3121891

1

Fand es, die Antwort ist

driver.find_element_by_class_name("ctsymbol").text 
3

Sie tun können,

element = driver.find_element_by_class_name("class_name").text 

Dieser Sie Text zurückkehren und danach zu überprüfen.

2

Danke das ist die richtige Antwort es hat funktioniert !!

from selenium import webdriver 
from selenium.webdriver.support.ui import WebDriverWait 

driver = webdriver.Chrome("E:\\Python\\selenium\\webdriver\\chromedriver.exe") 
driver.get("https://www.tatacliq.com/global-desi-navy-embroidered-kurta/p-mp000000000876745") 
driver.set_page_load_timeout(45) 
driver.maximize_window() 
driver.implicitly_wait(2) 
driver.get_screenshot_as_file("E:\\Python\\Tatacliq.png") 
print ("Executed Succesfull") 
driver.find_element_by_xpath("//div[@class='pdp-promo-title pdp-title']").click()`enter code here` 
SpecialPrice =driver.find_element_by_xpath("//div[@class='pdp-promo-title pdp-title']").text 
print(SpecialPrice) 
9

Python

element.text 

Java

element.getText() 

C#

element.Text 

Rubin

element.text 
Verwandte Themen