Источник страницы Webdriver не меняется - PullRequest
0 голосов
/ 18 июня 2020

Я использую Selenium WebDriver для сбора некоторой информации из нового интерфейса Lightning от SalesForce. Однако всякий раз, когда я щелкаю что-то, открывающее новую «вкладку», я больше не могу найти элементы, которые ищу. Эти «вкладки» не являются настоящими вкладками, а являются частью сайта внутри фактической вкладки firefox или chrome.

После дальнейшего расследования я понял, что driver.page_source возвращает исходный код старой «вкладки», которая является больше не в поле зрения. Неважно, как долго я жду, и я даже пытался остановить загрузку окна, но источник всегда находится на старой вкладке. У кого-нибудь есть идеи? Я кончился.

Ниже приведен пример кода. Я ввожу текст в поле поиска и нажимаю Enter. Я использую только ручное ожидание во время тестирования.

browser.find_element_by_xpath("//*[@id=\"input-5\"]").click()
time.sleep(2)
browser.find_element_by_xpath("/html/body/div[4]/div[1]/section/header/div[2]/div[2]/div/div[1]/lightning-grouped-combobox/div/div/lightning-base-combobox/div/div[2]/ul[1]/li[9]").click()
time.sleep(2)
action = webdriver.ActionChains(browser)
search = browser.find_element_by_xpath("//*[@id=\"143:0;p\"]")
action.send_keys_to_element(search, case_numbers[7])
action.send_keys_to_element(search, Keys.RETURN).perform()
time.sleep(10) #Sleep while new page opens

html = browser.page_source
time.sleep(2)
print(html)

#After page loads get part data
part_table = browser.find_element_by_xpath("//*[@id=\"thePage:form:pBlock:pBlocksection3\"]/div[2]/table")
part_data = part_table.find_elements_by_tag_name('td')

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...