【问题标题】:How Can I click on a button that goes to another tab in a web page using python?如何使用 python 单击转到网页中另一个选项卡的按钮?
【发布时间】:2023-01-18 09:16:10
【问题描述】:

我正在尝试获取超过 40 个选项卡的网页的一些数据。我可以从第一个选项卡获取数据,并且我正在尝试创建一个单击“下一页”按钮的命令,这样我也可以从下一页获取数据,但我没有得到它。

url="https://www.vivareal.com.br/venda/sp/sao-bernardo-do-campo/condominio_residencial/"
page = requests.get(url)
print(page)

soup = BeautifulSoup(page.content, 'html.parser')
lists = soup.find_all('article', class_="property-card__container js-property-card") 


with open('na ponta da chave.csv', 'w', encoding='utf8', newline='') as f:
        thewriter = writer(f)
        header = ['Title', 'Location', 'Price', 'Area']
        thewriter.writerow(header)

        for list in lists:
            title = list.find('span', class_="js-card-title").text.replace('\n', '')
            location = list.find('span', class_="property-card__address").text.replace('\n', '')
            price = list.find('div', class_="js-property-card__price-small").text.replace('\n', '')
            area = list.find('span', class_="js-property-card-detail-area").text.replace('\n', '')
    

            info = [title, location, price, area]
            thewriter.writerow(info)
            
browser = webdriver.Chrome(ChromeDriverManager().install())
browser = webdriver.Chrome()
browser.get(url)    
time.sleep(15)
button = browser.find_element(By.CLASS_NAME, "button.js-change-page")   
button.click()
time.sleep(15)
browser.close()

【问题讨论】:

    标签: python html web-scraping


    【解决方案1】:

    您可以使用 Selenium webdriver 的 find_element_by_link_text() 方法找到带有文本“下一页”的按钮,然后单击它。

    # Click the "Next Page" button
    button = browser.find_element_by_link_text("Next Page")
    button.click()
    
    # Wait for the page to load
    time.sleep(15)
    

    这将取代查找 js-change-page,因为这也指上一页按钮。

    您可以实施更具体的方法来等待页面加载,例如等待特定元素出现在页面上,而不是使用睡眠计时器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 1970-01-01
      • 2021-12-07
      • 2018-02-26
      • 1970-01-01
      相关资源
      最近更新 更多