使用 Python Selenium 检查 HTML 元素是否存在

Pav*_*sky 5 html python selenium xpath

我正在尝试使用 Selenium/Python 检查 HTML 页面上是否存在元素。

这是我的功能:

class runSelenium(object):

    def __init__(self):
        # define a class attribute
        self.driver = webdriver.Firefox()

    def isElementPresent(self, locator):
        try:
            self.driver.find_element_by_xpath(locator)
        except NoSuchElementException:
            print ('No such thing')
            return False
        return True

    def selenium(self):
        self.driver.get("https://somepage.com")
        isElement = self.isElementPresent("//li[@class='item'][6]")
        isElement1 = str(isElement)


    if __name__ == '__main__':
        run = runSelenium()
        run.selenium()
Run Code Online (Sandbox Code Playgroud)

我试图用布尔值选择结果,但没有运气:

isElement = self.isElementPresent("//li[@class='item'][6]")
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?

ale*_*cxe 5

您需要取消缩进最后一个代码块:

class runSelenium(object):

    def __init__(self):
        # define a class attribute
        self.driver = webdriver.Firefox()

    def isElementPresent(self, locator):
        try:
            self.driver.find_element_by_xpath(locator)
        except NoSuchElementException:
            print ('No such thing')
            return False
        return True

    def selenium(self):
        self.driver.get("https://somepage.com")
        isElement = self.isElementPresent("//li[@class='item'][6]")
        isElement1 = str(isElement)


if __name__ == '__main__':
    run = runSelenium()
    run.selenium()
Run Code Online (Sandbox Code Playgroud)