当前位置: 首页 > 面试题库 >

如何移至Python Selenium的下一页?

公孙高轩
2023-03-14
问题内容

我正在尝试为特定站点构建代理刮板,但是无法进入下一页。

这是我正在使用的代码。

如果您回答了我的问题,请向我解释一下您所使用的内容,如果可以的话,请向我解释一下,如果有关于此类代码的好的教程,请给我一些:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

options = Options()
#options.headless = True     #for headless
#options.add_argument('--disable-gpu') #for headless and os win

driver = webdriver.Chrome(options=options)

driver.get("https://hidemyna.me/en/proxy-list/")
time.sleep(10) #bypass cloudflare


tbody = driver.find_element_by_tag_name("tbody")
cell = tbody.find_elements_by_tag_name("tr")

for column in cell:
    column = column.text.split(" ")
    print (column[0]+":"+ column[1]) #ip and port

nxt = driver.find_element_by_class_name('arrow_right')
nxt.click()

问题答案:

要转到 下一页, 您可以尝试以下解决方案:

  • 代码块:
        from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.common.exceptions import TimeoutException, WebDriverException

    options = Options()
    options.add_argument("start-maximized")
    options.add_argument("disable-infobars")
    options.add_argument("--disable-extensions")
    driver = webdriver.Chrome(chrome_options=options, executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe')
    driver.get('https://hidemyna.me/en/proxy-list/')
    while True:
        try:
            driver.execute_script("return arguments[0].scrollIntoView(true);", WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//li[@class='arrow__right']/a"))))
            driver.find_element_by_xpath("//li[@class='arrow__right']/a").click()
            print("Navigating to Next Page")
        except (TimeoutException, WebDriverException) as e:
            print("Last page reached")
            break
    driver.quit()
  • 控制台输出:
        Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    Navigating to Next Page
    .
    .
    .
    Navigating to Next Page
    Last page reached


 类似资料:
  • 问题内容: 最好的方法是,在单击表单内部的Enter时,将焦点转到下一个输入,而不是使用angularjs提交表单。 我有一个包含许多字段的表单,客户习惯于按Enter键移至下一个输入(来自桌面应用程序)。当用户点击Enter时,angularjs保存表单。我喜欢改变这个。可能吗 ? 问题答案: 我建议制定一个自定义指令。这样的事情。我还没有测试。 这样的事情应该起作用。您可能不得不周到一些东西。

  • 问题内容: 我在Java 8 foreach流中尝试循环移动下一个项目时遇到问题。我无法将命令设置为,但只能工作,但是在这种情况下,您将退出循环。我需要继续循环下一个项目。我怎样才能做到这一点? 示例(不起作用): 示例(工作): 问题答案: 使用就可以了。这不会阻止完整循环的完成。它将仅停止执行循环的当前迭代。 试试下面的小程序: 输出: 一个 ç 请注意,如何为迭代执行,但是可以在后续迭代中打

  • 问题内容: 我对Linkedin中技能部分的“加载更多”按钮感到困惑。我 在找到按钮的xpath时收到此错误: 问题是我的元素在页面上不可见,因此我一直试图 找到一种方法来在页面上连续滚动直到按钮可见。 我正在尝试对多个配置文件进行forloop。 我的相关代码: Attempts 1. 随着 页面滚动就在元件的下方,因此该元素不再是可见的,随后发生同样的错误。 我也尝试过move_to_elem

  • 问题内容: 自从Jenkins 插件开始使用以来,配置方面就出现了很多问题,我看到的所有解决方案都涉及切换回使用旧的git命令行,因为到目前为止,大多数安装都具有大部分可修改的地方它在大多数时间都有效。 我们在同一条船上,但是git命令行在Windows下仍然 非常 不可靠。我们喜欢在新的引擎盖下使用的想法,并希望了解它是否真的使事情变得更好。但我找不到有关如何迁移到的单据。 仅供参考,我已经知道

  • 我熟悉如何在其他编辑器中向上或向下移动一行,如Atom和Sublime。 在Mac的Visual Studio代码中是如何实现的?

  • 问题内容: 我用python与selenium结合编写了一个脚本,以从其着陆页中抓取不同文章的链接,并通过跟踪引向其内页的url最终获得每个文章的标题。尽管我在这里解析的内容是静态内容,但我还是使用了selenium来查看它在多处理中的工作方式。 但是,我的意图是使用多处理进行抓取。到目前为止,我知道selenium不支持多处理,但似乎我错了。 我的问题:当使用多处理运行selenium时,如何减