我正在使用python selenium
我正在运行这个简单的代码
driver = webdriver.PhantomJS()
#Also use driver = webdriver.Chrome()
driver.get("my_url")
driver.find_element_by_xpath("//*[@id='lb_LoadMore_button_text_2']").click()
print [x.text for x in driver.find_elements_by_xpath("//font[@class='ProductTitle']")]
我点击的按钮是“加载更多”按钮。按钮。在Chrome网络驱动程序上,我看到正在加载项目,但在提交点击后我不知道如何访问它们。
在尝试打印元素
之前,我也尝试过driver.refresh()我对硒很新鲜,但未能找到解决方案。
答案 0 :(得分:2)
点击后您可能只需要延迟,但我们不仅要添加time.sleep()
来电,还要explicitly wait通过presence_of_all_elements_located()
提供产品标题:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
driver.find_element_by_xpath("//*[@id='lb_LoadMore_button_text_2']").click()
# waiting
wait = WebDriverWait(driver, 10)
product_titles = wait.until(EC.presence_of_all_elements_located((By.XPATH, "//font[@class='ProductTitle']")))
print [x.text for x in product_titles]