파이썬에서 셀레늄 웹 드라이버로 텍스트를 얻는 방법


88

셀레늄 웹 드라이버를 사용하여 텍스트를 얻으려고하는데 여기에 내 코드가 있습니다. 내 경우에는 웹 페이지를 다시 시작할 때마다 ID가 변경되므로 Xpath를 사용하고 싶지 않습니다. 도와주세요.

내 코드 :

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

HTML :

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

답변:


160

당신은 단지 .text.

그런 다음 그것을 얻은 후에 확인할 수 있습니다 . 예상 한 것을 전달하려고 시도하지 마십시오 .


필자는이 오류가 - 'WebDriver'개체가 어떤 속성 'gettext에'없다
user3121891

1
@ user3121891, .text입니다.
Arran 2014 년

이제이 코드를 사용하고 있습니다. driver.find_element_by_class_name ( "current-stage"). text ( "my text") if text : print "pass"else : print "Fail"및이 오류 발생- 'unicode'개체를 호출 할 수 없음
user3121891

13
@ user3121891 driver.find_element_by_class_name("current-stage").text.... 자신의 텍스트 입니다. 아무것도 다른.
Arran 2014 년

1
셀레늄 객체 목록 .text을 반복하고 for 루프의 각 항목 에을 적용하려고합니다 .
Paul

68

파이썬

element.text

자바

element.getText()

씨#

element.Text

루비

element.text

1
파이썬에 대한 문서를 찾을 수 없습니다. 어디에서 이것을 찾으십니까?
Charles Smith

1
@CharlesSmith VSCode .의 요소 뒤에 추가 하면 클래스가 허용하는 항목에 따라 제안 목록이 제공됩니다. 그것이 내가 이것을 찾은 방법입니다.
CodeSpent

1
가 문서에 있지 왜 그래, 난 그냥 궁금, 인 IntelliJ에서 같은주의
찰스 스미스

9

찾았습니다. 대답은

driver.find_element_by_class_name("ctsymbol").text

6

당신이 사용할 수있는:

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

그러면 요소 내의 텍스트가 반환되고 그 후에 확인할 수 있습니다.


3

감사합니다 이것이 정답입니다 !!

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)

0

나는 이것이 사용자 정의 클래스에서 무언가를 잡거나 ID를 변경할 수 없을 때 절대적으로 귀중한 것을 발견했습니다.

driver.find_element_by_xpath ( "// [contains (text (), '다음 사용 가능한 날짜 표시')]"). click () driver.find_element_by_xpath ( "// [contains (text (), '다음 사용 가능한 날짜 표시')] ") .text driver.find_element_by_xpath ("// [contains (text (), 'Available')] "). text driver.find_element_by_xpath ("// [contains (text (), 'Avail')] "). text


```마커를 사용하여 코드를 코드로 표시 할 수 있습니다.
Vivian De Smedt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.