我有一个名为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新手,但乐于接受挑战。
您可能需要一个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] 删除。
我来说两句