我正在为网站编写自动脚本,并希望验证是否已创建表单。我已经创建了一个名为“ Blah!”的表格。
该网页现在将具有一个表单,该表单的列标题为“名称”,并显示“ Blah”。
在html文件的某个地方,将有一个名为“ Blah”的字符串。我试图获取包含该字符串的html并将其设置为变量,然后进行比较以查看该变量是否在其中包含“ blah”。使用python,所以看起来应该像这样:
x = driver.find_element_by_xpath(Some_code_to_catch_the_html)
print ("blah" in x) #return true is x includes the string- form was created!
除了没有找到文本“ blah!”以外,我运行的代码没有任何错误。 注意:Div表示“等等!”没有唯一的ID,因此我必须对该块使用ID。
实际代码:
element = driver.find_elements_by_xpath("//*[@id='dashboard-container-d08a6dcd-dc17-4662-9156-7fe74a4abc15']")
print(element[0].text)
assert "blah!" in element, "text not found in element"
# I have also used 'element without the index.
# here is the actual id for the table where 'blah!'is created under >> //*[@id='dashboard-container-d08a6dcd-dc17-4662-9156-7fe74a4abc15']/div[1]/div[2]/div/div/form/div[5]/table/tbody
在什么情况下无法从html返回文本?
答案 0 :(得分:0)
要验证是否有任何特定的页面源其中包含某个元素/文本/表单,可以使用{{1}在HTML DOM中搜索元素/文本/表单。 },您可以按照以下解决方案进行操作:
代码块:
driver.page_source
控制台输出:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver.get("http://www.python.org")
print("Don Powell" in driver.page_source)
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
print("Don Powell" not in driver.page_source)