我想打开一个特定的google链接,然后返回到上一页,并对其他链接执行相同的操作

ttygqcqt  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(446)

我试着用selenium在google上搜索,当我得到结果后,打开第一个链接,回到上一页,打开第二个链接……等等,我想用其他链接做同样的事情,但我不知道问题出在哪里
请帮忙。

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.common.keys import Keys

import time

driver = webdriver.Edge()

url = "https://www.google.com/"

driver.get(url)

search_field = driver.find_element(By.XPATH, '/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input')

search_field.send_keys("Anime")

search_field.send_keys(Keys.ENTER)

all_links = driver.find_elements(By.CLASS_NAME, "yuRUbf")

a = 0

for link in all_links :

        link[a].click()

        a += 1

        time.sleep(10)

        driver.back()
vjhs03f7

vjhs03f71#

通过单击链接,浏览器焦点会跳转到新打开的选项卡,而selenium驱动程序不会自动执行此操作。所以你需要将驱动程序切换到打开的选项卡。之后,您可以关闭该选项卡并将驱动程序切换回第一个选项卡。

browser.getAllWindowHandles().then(function (handles) {
browser.driver.switchTo().window(handles[1]);
// do what you whant on the new tab here
browser.driver.close();
browser.driver.switchTo().window(handles[0]);
});

相关问题