python - 如何连续运行多个 Selenium 测试

标签 python selenium

我正在尝试使用 Selenium 和 Python 执行动态网页抓取。我试图抓取的网站有一个输入,可以选择近 600 个左右的位置。每个地点都有不同的设施。

我想抓取设施的名称以及每个位置的地址。

我有一个 Excel 文件中的位置列表。我使用 Pandas 导入这些位置,然后尝试执行一个 for 循环,在其中遍历每个位置,在输入中输入该位置,然后抓取下面输出的设施。

但是我的 for 循环没有按预期工作,因此每次运行脚本时,Selenium 驱动程序都会打开,并且我会按预期为第一个位置抓取设施。但此后什么也没有发生。我的目标是让脚本继续,要么打开新的 Selenium 浏览器,要么在输入中输入新位置以抓取第二个位置的设施。

df = pd.read_excel('MA Cities - Licensed Child Care Search.xlsx')

for i in df: 
    driver = webdriver.Chrome(options = options)
    driver.get('https://eeclead.force.com/EEC_ChildCareSearch')
    res = driver.execute_script("return document.documentElement.outerHTML")

    search = driver.find_element_by_id('j_id0:j_id2:j_id29:city')
    search.send_keys(i)
    search.send_keys(Keys.ENTER)

通过将驱动程序部分放入一个函数中,然后使用从 0 到我正在处理的城市数的 for 循环调用该函数来解决这个问题。

最佳答案

通过将 selenium 驱动程序部分放入一个函数中,然后使用从 0 到我正在处理的城市数的 for 循环调用该函数来解决这个问题。

for i in range(x): 
    my_function(i)

然后在函数中添加

search.send_keys(df.iloc[i])

关于python - 如何连续运行多个 Selenium 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56958996/

相关文章:

python - 对函数的类变量引用更改为 instancemethod

selenium - 如何在日志中打印作为 TestNG 中一组的一部分运行的测试数?

python - 无法在 TripAdvisor 中使用 Selenium 抢课

html - 无法使用 selenium webdriver 选择表的行,因为 div 类正在动态变化

Python Selenium Firefox 驱动程序 - 禁用图像

selenium - 你如何专注于 selenium ide 的新窗口?

python - 获取numpy.ndarray对象不是可调用错误

python - 使用 python 教程进行主成分分析 (PCA)

python - Django Rest Framework - 使用与 __all__ 的反向关系

python - 如何通过 Python socket.send() 发送字符串以外的任何内容