创建def检查URL是否有效如果找不到则转到另一个URL来编辑该字段但检查当前URL然后提取正确的信息

问题描述 投票:1回答:1

尝试创建def检查URL是否有效如果找不到则转到另一个URL按下按钮来编辑该字段但检查当前URL然后从配置中提取正确的信息并发送到下面的文本字段就是我的意思看着

<tbody><tr>
                    <th width="150">License Key *</th>
                    <td width="1">:</td>
                    <td><input type="text" name="LicenseKey" value="" size="80" maxlength="64"></td>
                </tr>
                </tbody>

>

def licenses(value):
    try:
        gotoURL(builder+value)
        if driver.find_element_by_xpath('//*[@id="main-message"]/h1/span'):
            gotoURL(base_url+value)
        if driver.find_element_by_xpath('//*[@id="main-message"]/h1/span'):
            gotoURL(server1+value)
        if driver.find_element_by_xpath('//*[@id="main-message"]/h1/span'):
            gotoURL(server2+value)
    except NoSuchElementException:
        pressButton(license_edit)
        if driver.current_url(builder):
            sendKeys(license_key,server_license)
        if driver.current_url(base_url):
            sendKeys(license_key,serverlicense)
        if driver.current_url(zach_server):
            sendKeys(license_key,server_license1)
        if driver.current_url(michael_server):
            sendKeys(license_key,server_license2)

这是我得到TypeError的错误

selenium-webdriver python-3.7
1个回答
0
投票

我猜你得到的是typeError,因为

driver.find_element_by_xpath() 

返回一个WebElement,无论出于何种原因,都无法转换为if语句的布尔值。尝试切换到

driver.find_elements_by_xpath()

即使只找到一个元素,此方法仍然有效,它只返回包含该元素的数组。这很重要,因为python能够看到一个长度为1+的数组(如果找到一个或多个元素)并将其转换为布尔值为true。

© www.soinside.com 2019 - 2024. All rights reserved.