- #店名
- shopname = driver.find_element_by_xpath(".//*[@id='page']/div[2]/div/div[2]/ul/li[1]/a/span").text.strip()
- #掌柜名
- dealername = driver.find_element_by_xpath("./html/head/title").text.strip()
- dealername = dealername[dealername.find('-')+1:dealername.rfind('-')]
晚上继续,首先要找到问题出在什么地方。使用page_source查看,发现网页代码一应俱全。难道是非得把鼠标移动到特定位置,弹出菜单激活Js?于是使用:
- driver.get('https://shop594784981.taobao.com')
- time.sleep(3)
- menu = driver.find_element_by_xpath("//*[@id='header-content']/div[2]/p/span[1]/span[1]/a")
- ActionChains(driver).move_to_element(menu).perform()
- time.sleep(2)
- print(driver.find_element_by_id("J_TEnterShop").text)
- <span class="shop-name">
- 店铺:
- <a href="//shop124836129.taobao.com?spm=a1z10.1-c.0.0.XEwkxh" target="_blank" class="J_TGoldlog" data-goldlog-id="/tbwmdd.1.044" data-spm-anchor-id="a1z10.1-c.0.0">锦文图书批发<i id="J_TEnterShop">进入店铺</i></a>
- </span>
我只想提取店铺名称,但店铺名称在结构中,目标是XX,使用xpath提取的XX路径使用text提取的结果是空。但YY的xpath提取则是“进入店铺”,使用整个a链接的xpath是“锦文图书批发进入店铺”。所以xpath看来要使用标签封闭结构才行。
那么问题来了,怎么提取“锦文图书批发”呢?
有两种方法,一是换一个具有“锦文图书批发”的地方提取,二是使用XXYY - YY的方式。
那么问题来了,怎么提取“锦文图书批发”呢?
有两种方法,一是换一个具有“锦文图书批发”的地方提取,二是使用XXYY - YY的方式。