【问题标题】:Checking if HTML element exists with Python Selenium使用 Python Selenium 检查 HTML 元素是否存在
【发布时间】:2016-08-05 05:23:37
【问题描述】:

我正在尝试使用 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()

我正在尝试使用布尔值选择结果,但没有运气:

isElement = self.isElementPresent("//li[@class='item'][6]")

我在这里错过了什么?

【问题讨论】:

  • 函数本身看起来不错,你能详细说明你的问题是什么吗?谢谢。
  • 当我检查 isElement 变量时,它并没有告诉我它是真还是假
  • 你能展示一下你是如何使用isElement 变量的吗?谢谢。
  • 我尝试将其作为 Bool 和 String 进行检查,对于两者我都在 Visual Studio 的监视下看到“错误,未定义”: isElement = self.isElementPresent("//li[@ class='badgeList__item'][6]") isElement1 = str(isElement)
  • 能否请您发布您目前拥有的完整代码,以便了解全局?

标签: python html selenium xpath


【解决方案1】:

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

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()

【讨论】:

    【解决方案2】:

    所以我重新启动了 IDE(Visual Studio 2013),它现在可以正常工作了。代码 100% 正确

    【讨论】:

    • 您在这里看到的问题是什么?
    猜你喜欢
    • 2012-03-22
    • 2018-01-23
    • 2021-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-08
    • 1970-01-01
    • 2013-10-30
    相关资源
    最近更新 更多