首页 > 解决方案 > Python - 硒元素返回“无”

问题描述

我正在尝试创建一个小脚本来告诉我地址​​是否需要某种类型的运输。

我有一个要输入网站的地址列表,它将返回它们的类型。为什么这不返回任何内容,即使当我检查硒中的元素时它就在那里?从技术上讲,它必须在那里,甚至可以通过“EC.presence_of_element_located”代码。

browser = webdriver.Chrome()

browser.get('courier_website')

field = browser.find_element_by_id("txt-address-auto-complete")

field.send_keys("12 test Street")

WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.XPATH, "//li[@class='ui-menu-item']/a[contains(@id, 'ui-id-')]")))

browser.find_element_by_xpath("//li[@class='ui-menu-item']/a[contains(@id, 'ui-id-')]").click()

WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@id="delivery-details-addresstype" and text() != ""]')))

post = browser.find_element_by_xpath('//*[@id="delivery-details-addresstype"]').get_attribute('value')

print(post)

输出为“无”

HTML 我试图从中获取文本

<table class="delivery-details">
                        <tbody><tr>
                            <th colspan="3" id="delivery-details-addresstype">Residential Delivery Zone Address</th>
                        </tr>

标签: pythonselenium

解决方案


而不是 browser.find_element_by_xpath(//required_pa​​th).get_attribute('value'),使用:

browser.find_element_by_xpath(//required_path).get_attribute('innerHTML')

推荐阅读