需要帮助来弄清楚如何为多个URL进行browser.get
这是当前的代码
#OPEN FILE
import sys
f = open("ids.txt", 'w')
sys.stdout = f
#GRAB IDS
ids = [i.get_attribute('id').replace("name-", "") for i in
browser.find_elements_by_xpath('.//*[@id[starts-with(.,"name")]]')]
#STATIC URL
url = ("https://www.someurlhere.com/page.html?id=")
#PRINT IDS & MAP TO STATIC URL
for id in ids:
print("https://www.someurlhere.com/page.html?id=",id,sep='')
#browser.get(url, id)
#This gives error get() takes 2 positional arguments but 3 were given
该打印产生一个文件ids.txt,它用ids显示所有网址 例如:
https://www.someurlhere.com/page.html?id=12345678
https://www.someurlhere.com/page.html?id=87654321
https://www.someurlhere.com/page.html?id=87283798
这是我要加载的正确网址
现在,我需要帮助为列表1中的每个网址执行browser.get,然后从每个加载的页面中获取数据。
通常我会做以下操作,但它不会生成我正在寻找的正确网址;
links = [i.get_attribute('href') for i in
browser.find_elements_by_xpath('.//a[contains(., "name")]')]
for url in links:
print (url, end=',')
browser.get(url)
time.sleep(2)
#then do something on each page
这可以逐页打开,但会产生错误的网址
我需要一种方法来逐个打开每个网址
任何帮助表示赞赏
由于
答案 0 :(得分:0)
所以我设法找到了解决这个问题的方法
我更改了初始id变量,如下所示;
ids = [i.get_attribute('id').replace("name-", "https://www.someurlhere.com/page.html?id=") for i in
browser.find_elements_by_xpath('.//*[@id[starts-with(.,"name")]]')]
所以我基本上用我想要附加在打印件上的url替换了name-(行首)。这样我就可以执行browser.get(id)并逐行打开每个url。
附加代码如下:
for id in ids:
print(id,sep='')
browser.get(id)