我正在尝试使用selenium web驱动程序获取文本,这是我的代码.请注意,我不想使用Xpath,因为在我的情况下,ID会在每次重新启动网页时发生变化,请帮忙.
我的代码:
text=driver.find_element_by_class_name("current-stage").getText("my text")
Run Code Online (Sandbox Code Playgroud)
HTML:
<span class="current-text" id="yui_3_7_0_4_1389185744113_384">my text</span>
Run Code Online (Sandbox Code Playgroud)
Arr*_*ran 115
你想要的.text
.
然后,您可以验证它后,你已经得到它,不要试图在你怎么传递期望它应该有.
Shu*_*ain 50
蟒蛇
element.text
Run Code Online (Sandbox Code Playgroud)
Java的
element.getText()
Run Code Online (Sandbox Code Playgroud)
C#
element.Text
Run Code Online (Sandbox Code Playgroud)
红宝石
element.text
Run Code Online (Sandbox Code Playgroud)
示例(在Python中):
element.text
Run Code Online (Sandbox Code Playgroud)
Deb*_*anB 23
要打印文本,您可以使用以下定位器策略my text
之一:
使用类名和get_attribute("textContent")
:
print(driver.find_element(By.CLASS_NAME, "current-stage").get_attribute("textContent"))
Run Code Online (Sandbox Code Playgroud)
使用css_selector和get_attribute("innerHTML")
:
print(driver.find_element(By.CSS_SELECTOR, "span.current-stage").get_attribute("innerHTML"))
Run Code Online (Sandbox Code Playgroud)
使用xpath和文本属性:
print(driver.find_element(By.XPATH, "//span[@class='current-stage']").text)
Run Code Online (Sandbox Code Playgroud)
理想情况下,您需要引发WebDriverWaitvisibility_of_element_located()
,并且可以使用以下任一定位器策略:
使用CLASS_NAME和get_attribute("textContent")
:
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CLASS_NAME, "current-stage"))).get_attribute("textContent"))
Run Code Online (Sandbox Code Playgroud)
使用CSS_SELECTOR和文本属性:
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "span.current-stage"))).text)
Run Code Online (Sandbox Code Playgroud)
使用XPATH和get_attribute("innerHTML")
:
print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//span[@class='current-stage']"))).get_attribute("innerHTML"))
Run Code Online (Sandbox Code Playgroud)
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
Run Code Online (Sandbox Code Playgroud)
有用文档的链接:
get_attribute()
方法Gets the given attribute or property of the element.
text
属性返回The text of the element.
小智 5
您可以使用:
element = driver.find_element_by_class_name("class_name").text
Run Code Online (Sandbox Code Playgroud)
这将返回元素中的文本,并允许您在此之后进行验证。
归档时间: |
|
查看次数: |
143445 次 |
最近记录: |