一尘不染

如何使用seleniumPython在Google上单击第一个结果

selenium

我想点击google结果上的第一个结果。这是我输入从csv文件读取的chennai
craiglist的代码。因此,我肯定有机结果中的第一个链接将是chennai.craiglist.org。但是我很安静,不确定如何执行此操作。

from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import Select
    from selenium.common.exceptions import NoSuchElementException
    import unittest, time, re

    class Browse(unittest.TestCase):
    def setUp(self):
    self.driver = webdriver.Firefox()
    self.driver.implicitly_wait(30)
    self.base_url = "http://google.com/"

    filename = 'test.csv'
    line_number = 1
    with open(filename, 'rb') as f:
        mycsv = csv.reader(f)
        mycsv = list(mycsv)
        self.cityname=mycsv[line_number][0]
        self.username=mycsv[line_number][1]
        self.password=mycsv[line_number][2]
        self.verificationErrors = []

def test_browse(self):
    driver = self.driver
    driver.get(self.base_url + "/")
    driver.find_element_by_id("gbqfq").send_keys(self.cityname)

我想知道这行之后会发生什么?

更新

现在我给像

driver.find_elements_by_xpath(".//*[@id='rso']//div//h3/a")[:1].click()

我不确定它是否会起作用。


阅读 344

收藏
2020-06-26

共1个答案

一尘不染

xpath你选择的是“OK”,但可能不是最好的。

result = driver.find_elements_by_xpath("//ol[@id="rso"]/li")[0] //make a list of results and get the first one
result.find_element_by_xpath("./div/h3/a").click() //click its href
2020-06-26