Create def Проверьте, является ли URL-адрес Vaild, если он не найден, перейдите на другой URL-адрес, чтобы изменить это поле, но проверьте текущий URL-адрес, затем извлеките правильную информацию. - PullRequest
1 голос
/ 23 марта 2019

Попытка создания 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

1 Ответ

0 голосов
/ 23 марта 2019

Я предполагаю, что вы получаете ошибку типа, потому что

driver.find_element_by_xpath() 

возвращает WebElement, который по какой-либо причине не может быть преобразован в логическое значение для ваших операторов if. Попробуйте переключиться на

driver.find_elements_by_xpath()

Этот метод будет работать, даже если найден только один элемент, он просто возвращает массив, содержащий этот элемент. Это важно, потому что python может видеть массив длиной 1+ (если найден один или несколько элементов) и преобразовывать его в логическое значение как true.

...