你好,我是个新手,我想从一个父div下的多个div中刮取一些文本。。我已经附上了html的屏幕截图 在“伙伴关系”类下 有多个类别为“items”的div。。我想从这些div中刮去我标记的div。但是我遇到了一个错误。 这是我使用的代码:
def get_partnerships(driver):
WebDriverWait(driver,15).until(EC.visibility_of_element_located((By.XPATH,"//div[contains(@class, 'partnerships-cont')]/div[1]")))
partnerships_cont = driver.find_element_by_xpath("//div[contains(@class, 'partnerships-cont')]")
items = partnerships_cont.find_element_by_xpath("//div[contains(@class, 'item')]")
for item in items:
div = item.find_element_by_xpath("//div[1]")
text = div.find_element_by_xpath("//div").text
print(text)
driver = webdriver.Chrome(r'C:\Users\User\AppData\Local\Programs\Python\Python37\Lib\site-packages\chromedriver_py\chromedriver_win32.exe')
driver.get('https://xangle.io/project/ZRX/full-disclosure')
get_partnerships(driver)
无论我做什么,都会出现以下错误:
TypeError: 'WebElement' object is not iterable
你能告诉我为什么会出现这个错误吗?我该如何修复它
异常,因为它应该是
find_elements()
而不是find_element()
。更改下面的代码并重试代码获取名称和描述的优化方式:
您可以使用简单的
css selector
实现这一点。诱导WebDriverWait
()并等待visibility_of_all_elements_located
()输出:
相关问题 更多 >
编程相关推荐