Selenium选项卡更改上的数据重置



在尝试使用selenium从另一个选项卡中的一个选项卡获取的数据时,它会在选项卡更改时重置数据,因此我无法使用这些数据。我该如何防止这种情况发生?

我的代码:

for link in linkler:
driver.get(link)
oyunAdi = driver.find_element_by_xpath("//h1[@itemprop='name']").text
oyunFiyat = driver.find_element_by_xpath("//*[@class='table-prices-current']//td[3]").text
try:
community = driver.find_element_by_xpath("//a[@id='tab-communityitems']").click()
sleep(1)
isimler = driver.find_elements_by_xpath("//div[@id='item-class-2']//div//div[@class='community-item']")
devam = "a"
except:
devam = "b"
driver.switch_to.window(driver.window_handles[0])
a = 0
if devam == "a":
for isim in isimler:
driver.switch_to.window(driver.window_handles[1])
sleep(0.5)
arama = driver.find_element_by_xpath("//input[@id='findItemsSearchBox']")
arama.clear()
arama.send_keys(oyunAdi, isim.text)
sleep(3)
esyaIsimler = driver.find_elements_by_xpath("//*[@class='market_listing_item_name']")
fiyatlar = driver.find_elements_by_xpath("//*[@class='normal_price']")
for x in range(0,len(esyaIsimler)):
if esyaIsimler[x].text == isim:
print(oyunAdi, oyunFiyat, esyaIsimler[x].text, fiyatlar[x].text)
driver.switch_to.window(driver.window_handles[0])

例如,下面代码的输出为10。

isimler = driver.find_elements_by_xpath("//div[@id='item-class-2']//div//div[@class='community-item']")
print(len(isimler))

但是这个代码给出错误

driver.switch_to.window(driver.window_handles[1])
print(len(isimler))

我想在新选项卡中使用从上一个选项卡中获得的isimler变量的数据

列表isimler中的元素来自父选项卡,并与父window_handle关联。

当您使用driver.switch_to.window(driver.window_handles[1])切换window_handle并将焦点切换到adjescapest选项卡时,Selenium会在父window_handle上失去焦点。

由于Selenium没有关注父选项卡,因此print(len(isimler))显示错误。

相关内容

  • 没有找到相关文章

最新更新