2017-09-02 32 views
-2

PythonセレニウムChrome Webdriverで新しいタブでリンクを開く方法についてアドバイスしてください。だから、私は単に新しいタブを開く方法や、Firefoxで新しいタブを開く方法については求めていません。PythonセレニウムChrome Webdriverの新しいタブでリンクを開く

この1つは新しいタブで同じページを開きます。

first_link.send_keys(Keys.CONTROL + Keys.ENTER) 

この1を過ぎる:

first_link.send_keys(Keys.CONTROL + Keys.ENTER) 

this questionにalecxe答えを私はリンクされているURLを取得することはできません、ので、動作しません。指し示す。単にマウスを右クリック>「新しいタブでリンクを開く」のようにエミュレートする必要があります。コメントの更新後に

***** *****

問題は、ウェブサイトhttps://www.pagesjaunes.frそのものであることが判明しました。何らかの理由で、検索結果のエントリに間違ったURLを与えます。例えば、要素// * [@ id = "bi-bloc-0437413413085060110003C0001"]/div [2]/header/div 1/div/h2/a [2] したがって、この要素のリンクを試みるとセレンまたはリクエストを介してアクセスすると、検索結果自体のページにリダイレクトされます。これを踏まえ、私はこの問題を解決するために別のアプローチをとることにしました。

したがって、私は新しいタブでリンクを開く方法を断念することに決めました。以下は

+0

あなたは提案ソリューションのいずれかを試してみましたか?そのうちの1人があなたの問題を解決した場合は、[同意する](https://stackoverflow.com/help/accepted-answer)または何かフィードバックをお寄せください – Andersson

答えて

0

ことは、これを試してみてください。ここで

driver.find_element_by_tag_name("body").send_keys(Keys.COMMAND + 't') 
+0

これが一度動作したら – iamsankalp89

0

は、あなたが新しいタブで開くために必要なリンクを強制的にHTMLソースを変更することができ、私にとって偉大な

from selenium import webdriver 
from selenium.webdriver.common.action_chains import ActionChains 
from selenium.webdriver.common.keys import Keys 

driver = webdriver.Firefox() 
driver.get("http://tarunlalwani.com/post/") 
action = ActionChains(driver) 
elem = driver.find_element_by_link_text("How To Debug Nginx Reverse Proxy Issues") 
action\ 
    .move_to_element(elem)\ 
    .key_down(Keys.SHIFT)\ 
    .click(elem)\ 
    .key_up(Keys.SHIFT)\ 
    .perform() 

driver.quit() 
+0

同じタブにリンクを開きます。私はそれを新しいタブで開く必要があります –

+0

鉱山はタブではなく新しいウィンドウを開きます。しかし、同じブラウザの2つのウィンドウ –

0

に動作します。ただ、以下のように"_blank"へ/属性セットtarget追加:

link = driver.find_element_by_link_text('link text') 
driver.execute_script('arguments[0].target="_blank";', link) 
link.click() 
0

は、chromedriverGoogle Chromeを使用していますPython 3.6.1内のコードブロックされたURLを開きますhttp://www.google.comは、タイトルを印刷して、新しいTABを開き、URLはhttp://facebook.com/ですWebDriverJavascriptExecutorのインスタンス:

from selenium import webdriver 

driver = webdriver.Chrome(executable_path=r'C:\Utility\BrowserDrivers\chromedriver.exe') 
driver.get('https://www.google.co.in') 
print("Page Title is : %s" %driver.title) 
driver.execute_script("window.open('http://facebook.com/');") 
+0

私はアクセスできないのでこの解決法は良くありませんリンク。右の要素の 'href'にはリンクが含まれていません。ブラウザでクリックすると、正しいページにリダイレクトされます。 –

関連する問題