如果您传递的文字包含中断,您如何按文字找到元素?
<div>
"Hello"
<br>
"World"
</div>
以下作品:
text = 'Hello'
driver.find_element_by_xpath("//div[text()[contains(.,'%s')]]"%text)
当变量text
为'Hello World'
有没有办法忽略换行符?
答案 0 :(得分:0)
尝试使用normalize-space。
这对我有用:
我运行了烧瓶网络服务器:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return """<div>
"Hello"
<br>
"World"
</div>"""
if __name__ == "__main__":
app.run()
然后我试图找到文字:
from selenium import webdriver
text = 'Hello World'
driver = webdriver.Chrome()
driver.get("http://localhost:5000")
temp = driver.find_element_by_xpath("//div[normalize-space(//text() = '{0}')]".format(text))
print temp.text
它打印出字符串。
你不应该用那种丑陋的方式来格式化字符串,这是旧的方式。使用格式功能。你写这篇文章时的意思更清楚