【问题标题】:Looping Through A Series of Pages (WebElement) Using Selenium/Python使用 Selenium/Python 循环浏览一系列页面 (WebElement)
【发布时间】:2020-04-05 20:21:58
【问题描述】:

我正在尝试从以下网页循环浏览一系列页面(javascript):

http://nh.mypublicnotices.com/PublicNotice.asp?Page=SEARCHRESULTS

我找到了所有需要循环的元素,但我无法单击它。循环遍历这些 javascript 元素的最佳方法是什么:

from selenium.webdriver.support.select import Select

next_page=driver.find_elements_by_xpath('//[@id="PublicNoticeContent"]/table[2]/tbody/tr/td/table[2]/tbody/tr[6]/td/table/tbody/tr/td/table/tbody/tr[1]/td/a')

for i in next_page:
    link=i.get_attribute("href")
    Select(link)
    Select.click()

【问题讨论】:

  • 什么是“选择”?由于它是大写的,我怀疑它是一个类名,而不是一个函数或对象。请参阅MRE
  • 我的错。添加了说明。

标签: javascript python element


【解决方案1】:

您需要在 Select 上重复您的材料并与班级合作。

link=i.get_attribute("href")
Select(link)

这段代码刚刚抓取了最好是SELECT 的标签,但看起来你似乎只抓取了一个href。您尝试从该链接创建一个Select 对象...但是,创建它后,您未能保存它:您将其扔掉了。

Select.click()

我完全不确定你希望它如何工作:这会调用 click 作为 class 方法的直接调用,但 Select 没有这样的方法,所以这将失败,因为 teh 属性不存在:您未能在发布中提供的错误消息。

从这个开始:一旦你完成了你的教程材料并学会从一个 URL i 中提取正确的 SELECT 标记......也许

select_tag = i.find_element_by_tag_name(“select”)).select_by_index(0)
clickable = Select(select_tag)
clickable.click()

您点击的是您创建的对象,而不是类。

这对你有帮助吗?您仍然需要弄清楚如何在应用程序中编写第一行代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多