我正在尝试创建一个小脚本来告诉我地址是否需要某种运输方式。
我有一个输入网站的地址列表,它将返回它们的类型。为什么即使我检查硒中的元素,它也没有返回?从技术上讲,它必须存在,甚至还要传递“ 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>
答案 0 :(得分:2)
代替使用browser.find_element_by_xpath(// required_path).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')