seb*_*ebb 5 python selenium xpath
我正在编写一个脚本,用于从基于拍卖的服务中收集所有拍卖。我想通过一直出现错误来获取所有带有 selenium xpath 的模板。我已经设法使用 xpath 从页面下载了拍卖描述,但我无法提取它们的 href。我同时使用 xpath finder(用于 firefox)和 xpath helper(用于 chrome),它会显示我的链接。但我无法敬畏他们。
波纹管我正在展示我的脚本,我的控制台日志和我想要提取的链接。
SCRIPT (part of it)
while next_page_available:
wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.XPATH, "//li[contains(@class, 'nav-btn next-site')]")))
element = driver.find_element_by_xpath("//li[contains(@class, 'nav-btn next-site')]")
if element.is_displayed():
#THIS IS THE PART WHERE IT CRASHES
links = driver.find_elements_by_xpath('//tbody/tr/td[3]/a[1]/@href')
print "LINK: ", links
for link in links:
value = link.get_attribute("content")
items_names.append(value)
count += 1
print "hi"
print count, " val: ", value
element.click()
else:
print "No more pages with auctions"
next_page_available = False
Run Code Online (Sandbox Code Playgroud)
控制台日志:
#########My console log:
InvalidSelectorError: The result of the xpath expression '//tbody/tr/td[3]/a[1]/@href' is: [object XrayWrapper [object Attr]]. It should be an element.
Run Code Online (Sandbox Code Playgroud)
我想访问的拍卖链接:
<a href="http://ms.allegro.pl/template/edit/563656/" title="Buty robocze, WODOODPORNE TW400 Panoply roz.43" class=" xh-highlight">Buty robocze, WODOODPORNE TW400 Panoply roz.43</a>
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助,祝好
解决方案:
我已经找到了一个文档,在那里我可以提取一个属性。
您所要做的就是从您请求的项目的正文中取出一个属性。在我的特殊情况下,我正在寻找 href (示例如下)。如果您正在寻找让我们说链接的标题,只需键入get_attribute("type")所有内容即可顺利运行。
links = driver.find_elements_by_xpath("//a[contains(@href,'http://ms.allegro.pl/template/edit/')]")
for link in links:
value = link.get_attribute("href")
Run Code Online (Sandbox Code Playgroud)
感谢您的回复。最好的祝愿
| 归档时间: |
|
| 查看次数: |
2850 次 |
| 最近记录: |