Python-硒元素返回“无”

时间:2020-01-10 08:00:29

标签: python selenium

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

我有一个输入网站的地址列表,它将返回它们的类型。为什么即使我检查硒中的元素,它也没有返回?从技术上讲,它必须存在,甚至还要传递“ 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>

2 个答案:

答案 0 :(得分:2)

代替使用browser.find_element_by_xpath(// required_pa​​th).get_attribute('value'),请使用:

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

答案 1 :(得分:0)

在某些情况下,'textContent' 对我有用

browser.find_element_by_xpath(//path).get_attribute('textContent')