【问题标题】:How to replace the url in a loop using Selenium Python如何使用 Selenium Python 在循环中替换 url
【发布时间】:2021-11-10 23:52:38
【问题描述】:

正如标题所说,如果我想替换部分URL,如何在python中编写代码。

对于此示例,将此链接 (https://test.com/page/1) 的特定部分替换为 1、2、3、4 等,然后在所述页面上执行某些操作并转到下一个并重复。

所以,“打开 url > 点击按钮或其他 > 用新链接替换链接,并按顺序使用下一个数字”

(我知道我的代码是一团糟,我还是个新手,但我正在努力学习,我正在添加到目前为止我写的任何混乱,以遵守发布规则)

PATH = Service("C:\Program Files (x86)\chromedriver.exe")
driver = webdriver.Chrome(service=PATH)
driver.maximize_window()

get = 1
url = "https://test.com/page/{get}"

while get < 5:
    driver.get(url)
    time.sleep(1)
    driver.find_element_by_xpath("/html/body/div/div/div[2]/form/section[3]/input[4]").click()
    get = get + 1
    driver.get(url)
    driver.close()

【问题讨论】:

  • 你需要在循环中更新url。

标签: python selenium selenium-webdriver range


【解决方案1】:
get = 1
url = f"https://test.com/page/{get}"

while get < 5:
    
    driver.get(url)
    driver.find_element_by_xpath("/html/body/div/div/div[2]/form/section[3]/input[4]").click()
    print(get)
    print(url)
    get+=1
    url =  f"https://test.com/page/{get}"
    

简单地循环更新url。

输出

1
https://test.com/page/1
2
https://test.com/page/2
3
https://test.com/page/3
4
https://test.com/page/4

【讨论】:

  • 这很好用,我也尝试了 range() 函数,就像其他评论所说的那样,它也可以工作,不确定有什么区别,或者它是否只是一个偏好。但是非常感谢您的帮助!
  • 是的,它在技术上更好地使用范围,但主要是在循环中增加 url
【解决方案2】:

使用range()函数并使用String插值如下:

for i in range(1,5):
    print(f"https://test.com/page/{i}")
    driver.get(f"https://test.com/page/{i}")
    driver.find_element_by_xpath("/html/body/div/div/div[2]/form/section[3]/input[4]").click()

控制台输出:

https://test.com/page/1
https://test.com/page/2
https://test.com/page/3
https://test.com/page/4

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-09
    • 2020-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-28
    • 1970-01-01
    • 2021-10-13
    相关资源
    最近更新 更多