Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Selenium中迭代单击web元素列表?_Python_Selenium_Webdriver_Selenium Chromedriver - Fatal编程技术网

Python 如何在Selenium中迭代单击web元素列表?

Python 如何在Selenium中迭代单击web元素列表?,python,selenium,webdriver,selenium-chromedriver,Python,Selenium,Webdriver,Selenium Chromedriver,我想点击连续链接,以便在招聘页面上找到公司的域名,WebDriver使用Python 但是,WebDriver只会反复单击第一个链接 代码: import pandas as pd from selenium import webdriver from time import sleep driver = webdriver.Chrome('/Users/user/Downloads/chromedriver_win32/chromedriver') driver.get('https://dr

我想点击连续链接,以便在
招聘页面上找到
公司的域名
,WebDriver使用Python

但是,
WebDriver
只会反复单击第一个链接

代码

import pandas as pd
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome('/Users/user/Downloads/chromedriver_win32/chromedriver')
driver.get('https://dribbble.com/jobs')
assert 'Dribbble' in driver.title
total_web = []
quotes = len(driver.find_elements_by_class_name("job-board-job-list"))
for quote in range(quotes): 
        driver.find_element_by_class_name('job-board-job-title').click()
        for a in driver.find_elements_by_xpath("//*[@id='content']/div[3]/div[1]/div[1]/div/ul/li/a"):
            website = a.get_attribute('href')

        new1 = ((website))
        total_web.append(new1)
        driver.back()

        quote+=1

df_web = pd.DataFrame(total_web,columns=['website'])
driver.close()

由于这一行,它单击第一个链接的原因

driver.find_element_by_class_name('job-board-job-title').click()
这将始终单击第一个元素

您需要使用索引。请尝试下面的代码

elements=driver.find_elements_by_class_name("job-board-job-list")
quotes = len(elements)
for quote in range(quotes):
    #Added this line to avoid stale which re-assigned the element again.
    elements = driver.find_elements_by_class_name("job-board-job-list")
    elements[quote].click()