如何使用 Python 和 Selenium 查找页面中元素的状态?


我们可以借助 Selenium 查找页面中元素的状态。我们可以获取元素是否启用或禁用的信息。此外,我们还可以验证元素是否对用户交互可见。

在一个网页上,可能存在许多复选框或单选按钮。Selenium 提供了一种方法来检查这些 UI 元素是否处于选中状态。

有多种方法可以验证元素的状态。它们列在下面 -

  • is_selected()

    此方法验证元素(复选框、单选按钮)是否处于选中状态。返回布尔值 TRUE 或 FALSE。

语法 -

driver.find_element_by_class_name("prom").is_selected()
  • is_dispayed()

    此方法验证元素是否对用户可见。返回布尔值 TRUE 或 FALSE。

语法 -

driver.find_element_by_class_name("prom").is_displayed()
  • is_enabled()

    此方法验证元素是否处于启用状态。返回布尔值 TRUE 或 FALSE。

语法 -

driver.find_element_by_class_name("prom-user").is_enabled()

示例

使用上述方法的代码实现。

from selenium import webdriver
#browser exposes an executable file
#Through Selenium test we will invoke the executable file which will then #invoke actual browser
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
# to maximize the browser window
driver.maximize_window()
#get method to launch the URL
driver.get("https://tutorialspoint.com/selenium/selenium_automation_practice.htm")
#to refresh the browser
driver.refresh()
# identifying the checkbox with xpath
chk =driver.find_element_by_xpath("//*[@value='Automation Tester']")
# printing the status in console
print(chk.is_selected())
# identifying the edit box with xpath
edt =driver.find_element_by_xpath("//*[@name='firstname']")
# printing the display status in console
print(edt.is_displayed())
# identifying the edit box with xpath
edtsts =driver.find_element_by_xpath("//*[@name='lastname']")
# printing the enabled status in console
print(edtsts.is_enabled())
#to close the browser
driver.close()

更新于: 2020-07-29

660 次浏览

开启你的 职业生涯

完成课程获得认证

开始学习
广告