我如何判断我是否在使用Python的某个网站上使用Selenium

时间:2019-05-20 21:34:56

标签: python selenium if-statement web

所以我试图在python中找到一种使用硒的方法来告诉我是否在某个网站上。就像,如果我在https://www.google.com/上,那就做点其他的事情

2 个答案:

答案 0 :(得分:0)

您可以获取当前网址,然后在其周围编写逻辑。

currentUrl = driver.current_url
if (currentUrl == 'https://www.google.com/'):
    print("your google logic goes here")

答案 1 :(得分:0)

要详细说明@supputuri的答案,浏览器对象上有一个方法可以返回硒正在查看的.current_url的当前URL。您可以将其放入类似以下的逻辑块中:

if driver.current_url == 'https://www.google.com/':
    pass # your logic for when the browser is on google would go here
else:
    pass # your logic for when the browser is on any other site goes here

尽管我认为更干净,更健壮的方法是使用类似以下的子字符串:

if "google" in driver.current_url:
    print("we're on google")
else:
    print(driver.current_url) # print the current URL otherwise

我认为这是上乘的,因为假设您使用'https://www.google.com/'测试,则https://www.google.com/search?q=stack+overflow&rlz=1C1GCEU_enUS819US819&oq=stack+overflow&aqs=chrome..69i57j69i60l3j69i65j0.2927j0j7&sourceid=chrome&ie=UTF-8的URL将被传递到else块中,就好像您不在Google上一样,因为它不是。 t完全匹配,而我的第二段代码仍会看到google在URL中并相应地做出响应。缺点是诸如https://search.yahoo.com/search?p=www.google.com之类的URL将触发逻辑。为了消除这种情况,只获取与Google 开始 相关的网址,最好使用:

if driver.current_url.startswith('https://www.google.com'):
    print("we're on google")
else:
    print(driver.current_url) # print the current URL otherwise