不返回 Href 值
Href values are not being returned
我正在尝试从 this 页面中提取每家餐厅的 url,并且我已经为此编写了一个 python 脚本:
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox()
browser.get("http://www.delyver.com/Partners/partner/HSR%20Layout,%20Bengaluru,%20Karnataka,%20India/12.9081357/77.64760799999999")
time.sleep(1)
elem = browser.find_element_by_tag_name("body")
no_of_pagedowns = 40
while no_of_pagedowns:
elem.send_keys(Keys.PAGE_DOWN)
time.sleep(0.2)
no_of_pagedowns-=1
post1 = browser.find_elements_by_css_selector("Parwrsp.Parwrsp-Ado")
for post in post1:
print post.get('href')
当我 运行 脚本时,浏览器 window 打开,我最大化其 window 大小以获得焦点,它会自动向下滚动。但是什么也没有打印出来。我在 this link 之后实现了 selenium。
我做错了什么?
您当前的 CSS 选择器不匹配任何元素,因为 Parwrsp
是 class。
如果要匹配多个class,选择器这样写:
.Parwrsp.Parwrsp-Ado
而且,WebElement
实例上没有 get()
方法,您打算使用 get_attribute()
:
posts = browser.find_elements_by_css_selector(".Parwrsp.Parwrsp-Ado")
for post in posts:
print post.get_attribute('href')
上述合理性证明:
>>> from selenium import webdriver
>>>
>>> browser = webdriver.Firefox()
>>> browser.get("http://www.delyver.com/Partners/partner/HSR%20Layout,%20Bengaluru,%20Karnataka,%20India/12.9081357/77.64760799999999")
>>> for post in browser.find_elements_by_css_selector(".Parwrsp.Parwrsp-Ado"):
... print post.get_attribute('href')
...
http://www.delyver.com/Partners/partnerdetailsview/947/Purnabramha,-HSR
http://www.delyver.com/Partners/partnerdetailsview/916/Moti-Mahal-Deluxe,-HSR-Layout
我正在尝试从 this 页面中提取每家餐厅的 url,并且我已经为此编写了一个 python 脚本:
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox()
browser.get("http://www.delyver.com/Partners/partner/HSR%20Layout,%20Bengaluru,%20Karnataka,%20India/12.9081357/77.64760799999999")
time.sleep(1)
elem = browser.find_element_by_tag_name("body")
no_of_pagedowns = 40
while no_of_pagedowns:
elem.send_keys(Keys.PAGE_DOWN)
time.sleep(0.2)
no_of_pagedowns-=1
post1 = browser.find_elements_by_css_selector("Parwrsp.Parwrsp-Ado")
for post in post1:
print post.get('href')
当我 运行 脚本时,浏览器 window 打开,我最大化其 window 大小以获得焦点,它会自动向下滚动。但是什么也没有打印出来。我在 this link 之后实现了 selenium。
我做错了什么?
您当前的 CSS 选择器不匹配任何元素,因为 Parwrsp
是 class。
如果要匹配多个class,选择器这样写:
.Parwrsp.Parwrsp-Ado
而且,WebElement
实例上没有 get()
方法,您打算使用 get_attribute()
:
posts = browser.find_elements_by_css_selector(".Parwrsp.Parwrsp-Ado")
for post in posts:
print post.get_attribute('href')
上述合理性证明:
>>> from selenium import webdriver
>>>
>>> browser = webdriver.Firefox()
>>> browser.get("http://www.delyver.com/Partners/partner/HSR%20Layout,%20Bengaluru,%20Karnataka,%20India/12.9081357/77.64760799999999")
>>> for post in browser.find_elements_by_css_selector(".Parwrsp.Parwrsp-Ado"):
... print post.get_attribute('href')
...
http://www.delyver.com/Partners/partnerdetailsview/947/Purnabramha,-HSR
http://www.delyver.com/Partners/partnerdetailsview/916/Moti-Mahal-Deluxe,-HSR-Layout