【发布时间】:2018-03-31 05:29:12
【问题描述】:
我用 selenium 编写了一个小的 python 脚本来搜索谷歌并打开第一个链接,但是每当我运行这个脚本时,它都会打开一个控制台并打开一个新的 Chrome 窗口并在那个 Chrome 窗口中运行这个脚本。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import pyautogui
def main():
setup()
# open Chrome and open Google
def setup():
driver = webdriver.Chrome(r'C:\\python_programs'+
'(Starting_out_python)'+
'\\chromedriver.exe')
driver.get('https://www.google.com')
assert 'Google' in driver.title
mySearch(driver)
#Search keyword
def mySearch(driver):
search = driver.find_element_by_id("lst-ib")
search.clear()
search.send_keys("Beautiful Islam")
search.send_keys(Keys.RETURN)
first_link(driver)
#click first link
def first_link(driver):
link = driver.find_elements_by_class_name("r")
link1 = link[0]
link1.click()
main()
如何在我使用的浏览器中打开它?
【问题讨论】:
-
您的意思是希望您的脚本在您手动打开的浏览器实例中打开选项卡?
-
不可能使用 Selenium 在您使用的同一浏览器上打开新标签页。
-
好的。因为我也希望从这里开始,我应该能够通过搜索,一旦打开第一个链接,我复制一些内容,检查我打开的标签,例如 Facebook 是否打开或打开它,然后用什么更新我的状态我从以前的网站复制的。
-
您始终可以将 CTRL+T 快捷方式直接发送到链接,而不是执行单击操作然后处理新打开的窗口。见stackoverflow.com/questions/39281806/…
-
@BoboDarph 非常感谢。那样很酷。
标签: python selenium selenium-webdriver automation