Python Selenium使用Urls清单

纽贝

我有一个名为all_urls.txt的URL文本列表。文本文件中的每个url都位于一行上。我想将此列表传递给Selenium(python)以提取特定数据。我可以一一使用url来实现这一点,但这效率不高。我目前的代码如下:

profile = FirefoxProfile('/home/test/.mozilla/firefox/mfgrtrtr.Default3')
browser = webdriver.Firefox(firefox_profile=profile)
browser.maximize_window()
# get website
browser.get('https://www.some-website.com/')
# get current url
print browser.current_url
# get name & get phone number
name = browser.find_element_by_class_name("name")
print name.text
phone = browser.find_element_by_class_name("phone")
print phone.text

如何将列表传递给browser.get并从每个URL中提取名称和电话。在此先感谢您的帮助,我是python新手,但乐于接受挑战。

Holdenweb

您可能需要一个for循环,该循环可以遍历列表。您的代码应如下所示:

profile = FirefoxProfile('/home/test/.mozilla/firefox/mfgrtrtr.Default3')
browser = webdriver.Firefox(firefox_profile=profile)
browser.maximize_window()
with open("your_file_name") as in_file:
    for url in in_file:
        # get website
        browser.get(url.strip())
        # get current url
        print browser.current_url
        # get name & get phone number
        name = browser.find_element_by_class_name("name")
        print name.text
        phone = browser.find_element_by_class_name("phone")
        print phone.text

.strip对URL方法调用只是确保它没有开头或结尾的空白-行从文件中读取一般包括尾随换行符。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章